Azure搜索-部分短语匹配

时间:2019-03-04 17:48:48

标签: azure azure-search

我正在尝试改善从Azure搜索索引返回的结果的排名。搜索索引基本上包含乐队名称和成员的列表。

完全匹配对我们很重要,但部分匹配也很重要,但是查询中的部分单词也是如此。

如果我使用尝试查找名为Black Flag的乐队的示例。在用户输入区域,我可以输入black fl

我目前将查询的结构构造为:"black fl"|black fl*(整个词组完全匹配,fl上部分匹配)。

这将按以下顺序返回以下结果:

  • 萤光黑
  • 佛罗伦萨黑
  • 黑旗

目前,使用Standard - Lucene分析器搜索单个文本字段。

我看过Scoring Profiles,但就可用字段而言,这些似乎与如此小的数据集无关。

我还探索了完整的Lucene搜索,在单词black上添加了类似^ 10之类的内容,使其变得更加重要-并以多种方式更改了我的查询字符串,但这些方式似乎都无法产生效果在……之后。

我希望Black Flag会更好地匹配,因为单词顺序比上面的结果更正确。

有没有一种方法可以改变评分方式来解决此问题?现在,我想象我正在考虑使用自定义分析器(https://docs.microsoft.com/en-gb/azure/search/index-add-custom-analyzers),但不确定如何从此开始或我希望分析器的行为如何。

对于如何最好地处理这种情况的任何想法或示例,将不胜感激。

0 个答案:

没有答案