【发布时间】:2017-04-06 11:03:40
【问题描述】:
这个问题/答案涉及一个非常相似的主题,但我找不到我正在寻找的解决方案。 How to practially use a keywordanalyzer in azure-search?
开始情况:
我创建了一个具有多个索引的资源。这些索引之一包含一个 Collection(Edm.String) 字段。 从这个字段我只想获取完全包含搜索词的文档。例如,该字段包含以下文档:“Hovercraft zero”、“Hovercraft one”、“Hovercraft two”。
如果搜索词是“悬停”,则应返回所有三个文档。如果搜索词是“craft zer”,则只应返回文档“Hovercraft zero”。该文档不应该获得更高的分数,期望的行为是我只得到“气垫船零”文档作为结果。
更多信息:
不可能将搜索模式设置为全部(就像在顶部的问题中推荐的那样),因为我只想为这个特定字段而不是所有搜索查询设置此行为。也不可能让用户负责输入带引号的搜索词。
到目前为止我所尝试的:
- 使用关键字分析器,就像问题中描述的那样 顶部:没有成功
- 使用带有特定标记过滤器(ngram、 小写)和搜索分析器作为关键字分析器:没有成功
- 使用 Charfilters 操作搜索词并手动设置 第一个和最后一个位置的引号(craft zer -> "craft zer")。 就像 Yahnoosh 在上面的问题中解释的那样,查询解析器 在应用分析器之前处理查询字符串。所以: 没有成功
这个问题有什么解决办法吗? 还是有其他方法可以实现所需的行为?
希望有人可以提供帮助。
提前致谢!
【问题讨论】:
标签: azure azure-cognitive-search