与Azure搜索中的标准分析器不同,使用通配符

与Azure搜索中的标准分析器不同,使用通配符,azure,azure-cognitive-search,Azure,Azure Cognitive Search,我需要允许对包含破折号的值进行无文本搜索,如ABCD-12EF 我知道标准分析器不能很好地与-一起工作,因为它将内容拆分为多个令牌。我创建了一个像下面这样的索引来尝试关键字和空白分析器,但似乎*字符不再起作用了。只有在不搜索*soABCD-12EF的情况下搜索完整值,我才会得到结果。如果我搜索ABCD-12EF或ABCD-12*或ABCD*我不会得到任何结果 知道为什么吗 public class IndexTryOut { [Key, IsFilterable] public

我需要允许对包含破折号的值进行无文本搜索,如
ABCD-12EF

我知道
标准
分析器不能很好地与
-
一起工作,因为它将内容拆分为多个令牌。我创建了一个像下面这样的索引来尝试
关键字
空白
分析器,但似乎
*
字符不再起作用了。只有在不搜索
*
so
ABCD-12EF
的情况下搜索完整值,我才会得到结果。如果我搜索
ABCD-12EF
ABCD-12*
ABCD*
我不会得到任何结果

知道为什么吗

public class IndexTryOut
{
    [Key, IsFilterable]
    public string Id { get; set; }

    [IsSearchable, IsFilterable]
    [Analyzer("keyword")]
    public string Data1 { get; set; }

    [IsSearchable, IsFilterable]
    [Analyzer("whitespace")]
    public string Data2 { get; set; }
}

您可以定义一个自定义分析器,该分析器使用带有“小写”标记过滤器的“关键字”标记器-请参阅我对这个问题的回答: