2

我对正在搜索的索引上的搜索字段使用以下定义

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

使用英语微软文本分析器,但它似乎不像我期望的那样匹配单词。当使用“sliced”之类的词搜索该字段时,Azure 搜索不会返回“slice”、“slices”之类的结果。同样,当搜索像“cherries”这样的复数词时,不会返回单数形式“cherry”,反之亦然。只有通过添加 's' 会返回复数形式的情况,但无论如何都会发生这种情况,“dog”会返回“dog”或“dogs”或“doggie”,因为“dog”只是每个单词的前缀。

是否需要将特殊参数传递给搜索调用以“激活”文本分析器?

4

1 回答 1

2

您似乎正在发出前缀搜索查询。通配符搜索查询(如 search=test* 或 search=te?t)不会在 Azure 搜索中进行词法分析。如果您确实发出通配符查询,一种解决方法是使用常规搜索查询发出前缀搜索查询,例如 search=sliced sliced*。

内特

于 2016-11-18T23:28:41.163 回答