我们目前正在将文档存储在Search API的索引中
文档的TextField包含一个短语。
我们想用短语查询文档索引,并能够返回部分短语匹配。
例如,让我们使用以下短语索引三个文档:
“搜索词组” “搜索所有短语” “一些随机字符串”
我们希望使用查询“搜索所有短语”查询索引并返回包含字段值“搜索所有短语” 的文档作为“搜索词组”第二个只是部分词组匹配,但我们希望在结果中得到这个。
如果将查询短语称为“搜索或所有OR短语”,但是此查询的问题在于它不会根据常用单词的数量对匹配进行排名
因此,上述查询实际上可能会将“搜索短语”作为顶级文档返回,尽管它们是另一个匹配的文档,其中所有单词实际上都与查询短语单词匹配。
我们如何做到这一点?
由于
更新:
我们也以这种方式尝试了扩展查询:“(搜索所有短语)或(搜索短语)”
这确实会返回结果,但排序顺序并不直观。人们会期望完全匹配,即所有查询单词匹配的文档位于顶部。不幸的是,事实并非如此。
我们如何对此进行排序,以使具有匹配查询字词的文档完全显示在顶部。我们可以按照常用片段的长度或类似的东西进行排序吗?