vrm*_*vrm 3 elasticsearch elasticsearch-6
我已经使用标准分析器对文档进行了索引
foo 1 bar
foo 2 bar
foo 3 bar
Run Code Online (Sandbox Code Playgroud)
等等..
当我进行像“ asdf foo 1 bar 2 ”这样的 mach 查询时,尽管查询字符串包含短语“foo 1 bar”,但foo 2 bar的得分高于foo 1 bar
如何构建查询以考虑词序?主要问题是查询字符串可能包含比文档更多的单词。
您应该考虑使用“带状疱疹”。它们就像迷你短语一样,通过将相邻术语分组来帮助提高相关性。然后,如果您获得多个木瓦匹配,那么与另一个仅具有单个单词匹配的文档相比,这会提高您的相关性。
文档 1 的原始版本
"foo 1 bar"
Run Code Online (Sandbox Code Playgroud)
文档 1 的带状疱疹
"foo 1", "1 bar"
Run Code Online (Sandbox Code Playgroud)
因此,对于查询asdf foo 1 bar 2,您将在木瓦上foo 1以及1 bar查询的那些部分获得匹配项,这将增加第一个文档相对于第二个文档的相关性。
在Elasticsearch 文档中了解有关带状疱疹的更多信息。
您可能应该为此字段创建多个字段映射,以便获得 shingles 以及标准文本分析的好处。该过程在文档中也有详细记录,如果您遇到困难,可以在此处创建另一个问题。
| 归档时间: |
|
| 查看次数: |
1176 次 |
| 最近记录: |