这个问题处理了一个非常相似的主题,但我找不到我正在寻找的解决方案。 How to practially use a keywordanalyzer in azure-search?Azure搜索:如何获取包含检索词的文档
启动状态:
我创建了多个索引的资源。其中一个索引包含一个Collection(Edm.String)字段。 从这个领域,我只想获得包含搜索词的文档。例如,该字段包含如下的文档:“气垫船零”,“气垫船一”,“气垫船二”。 如果搜索词是“悬停”,则应返回所有三个文档。如果搜索项是“craft zer”,则只应返回文档“Hovercraft zero”。该文件不应该得到更高的分数,所需的行为是我只得到“气垫船零”文件作为结果。
更多信息:
这是不可能的设置所述搜索到所有的(就像是在顶部的问题recomended),因为我只想设置此行为这一特定领域,而不是对所有searchqueries 。也不可能让用户的责任用引号输入搜索词。
我试过至今:
- 使用关键字分析器就像是在这个问题上 上面描述:没有成功
- 使用带有特定标记的过滤器的indexanalyzer(NGRAM, 小写)和作为关键字分析器的搜索分析器:不成功
- 使用Charfilters来操纵搜索词并手动设置第一个和最后一个位置(craft zer - >“craft zer”)上的 引号。 与上面问题中解释的Yahnoosh一样,查询解析器 在应用分析器之前处理查询字符串。所以: 没有成功
有没有解决这个问题的方法? 或者还有其他的方法来达到预期的行为吗?
希望有人可以提供帮助。
在此先感谢!
很好的答案,谢谢。但我认为我没有详细解释我们的问题。我知道可以像这样操纵搜索查询,但遗憾的是,它不是我们的选择。我们在用户插入搜索词的主页上实施了一个搜索栏。然后我们通过API将这个术语传递给我们的资源来浏览我们的一个索引。因此不可能操纵每一个搜索查询。我正在寻找一个解决方案,只有这个索引的一个领域被自动查询所需的行为。其他领域应该以其他方式查询。 – maxhoefler