我们有一个用于全文搜索的 Azure 认知搜索索引。
目前,当用户搜索复数单词(例如 Buildings)时,也会匹配单数形式(building)。
我们希望限制此行为,以便仅返回复数匹配项。
我已经通读了 odata 文档,但找不到任何关于如何通过过滤器中的 search.ismatch 或索引配置中的参数来完成此操作的引用。
最佳答案
复数和单数形式可能都匹配,因为该字段配置了默认语言分析器,该分析器执行术语词干提取。如果您正在寻找精确匹配,可以在过滤器中使用“eq”运算符。如果您想要不区分大小写(但在其他方面精确)匹配,您可以尝试 normalizers (请注意,在撰写本文时,此功能处于预览状态。)
如果您需要比不区分大小写的匹配更复杂的匹配行为,您应该查看 custom analyzers 。它们允许您自定义标记化的行为,以及有选择地使用(或不使用)词干和其他词法分析技术。
关于Azure 认知搜索 - 如何防止搜索复数形式也返回单数匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70641592/