作者:aaron飞飞 | 来源:互联网 | 2023-05-26 18:05
假设我的索引有两个文档:
“ foo bar”
“巴富”
当我对“ bar foo”进行常规匹配查询时,两个文档都正确匹配,但是它们的相关性得分相等。但是,我希望评分过程中单词的顺序重要。换句话说,我希望“ bar foo”的得分更高。
因此,我尝试将我的match查询放在bool查询的must子句中,并包含一个match_phrase(具有相同的查询字符串)作为should子句。直到我使用“ bar test foo”进行搜索之前,这似乎可以正确得分。在这种情况下,match_phrase查询似乎不匹配,并且命中率再次以相等的分数返回。
如何构造索引/查询,使其考虑单词顺序但不要求所有搜索到的单词都存在于文档中?