2016-11-18 40 views
2

我使用以下定义为我的搜索栏上正在使用的英语版的Microsoft文本分析搜索Azure的搜索分析不匹配其他单词紧张

new Field("Description", DataType.String, AnalyzerName.EnMicrosoft), 

指数,但它似乎并没有被如我所期望的那样匹配单词。当使用像“切片”这样的词搜索该字段时,Azure搜索不会返回像“切片”,“切片”这样的结果。同样,当搜索“樱桃”这个复数词时,单数形式“樱桃”不会返回,反之亦然。只有通过添加's'才会返回复数形式,但不管怎样,“狗”会返回“狗”或“狗”或“小狗”,因为“狗”只是每个单词的前缀。

是否有一个特殊参数需要传入搜索调用以“激活”文本分析器?

回答

2

看来您正在发出前缀搜索查询。通配符搜索查询,如search = test *或search = te?t,不会通过Azure搜索中的词法分析。如果您确实发出通配符查询,则解决办法之一是使用常规搜索查询发出前缀搜索查询,例如search = sliced *。

Nate

+0

哇谢谢!试图弄清楚发生了什么事,我开始疯了。 – srfigie