0

我想知道如何解释提升查询。我知道如果一个文档在提升上匹配,bq=name:"bob"^5那么它将被赋予更高的排名,但一般来说,如果您有许多具有不同字段的术语,当给定文档字段与值不匹配时会发生什么?

bq 中的这个术语是否只是“丢弃”并被忽略了?这是否是说如果您在文档上有类似bq=name:"bob"^5 location:"Boston"2但只有名称匹配的内容,那么它将获得 5 分,但如果两者都匹配,则得分为 7?我已经阅读了文档,但我仍然无法理解这一点。

感谢您的任何见解!

4

1 回答 1

0

从文档

bq (Boost Query) 参数
bq 参数指定一个附加的、可选的查询子句,该子句将被添加到用户的主查询中以影响分数。

因此,如果某些文档与 boost 查询中的术语不匹配,则该特定文档不会被排除在结果集中。与其他人相比,他们只会得到较低的分数。因为 boost 查询只会影响分数。

现在,如果我们看一下下面的 boost 查询。

bq=name:"bob"^5 location:"Boston"2

好吧,匹配两个查询的文档在比较其他只匹配一个的文档时得分更高。不会是简单的数学计算,如(5+2) = 7。而是根据Lucene评分计算方法的一些分数。

于 2017-07-18T05:34:34.037 回答