我想知道如何解释提升查询。我知道如果一个文档在提升上匹配,bq=name:"bob"^5
那么它将被赋予更高的排名,但一般来说,如果您有许多具有不同字段的术语,当给定文档字段与值不匹配时会发生什么?
bq 中的这个术语是否只是“丢弃”并被忽略了?这是否是说如果您在文档上有类似bq=name:"bob"^5 location:"Boston"2
但只有名称匹配的内容,那么它将获得 5 分,但如果两者都匹配,则得分为 7?我已经阅读了文档,但我仍然无法理解这一点。
感谢您的任何见解!
从文档
bq (Boost Query) 参数
bq 参数指定一个附加的、可选的查询子句,该子句将被添加到用户的主查询中以影响分数。
因此,如果某些文档与 boost 查询中的术语不匹配,则该特定文档不会被排除在结果集中。与其他人相比,他们只会得到较低的分数。因为 boost 查询只会影响分数。
现在,如果我们看一下下面的 boost 查询。
bq=name:"bob"^5 location:"Boston"2
好吧,匹配两个查询的文档在比较其他只匹配一个的文档时得分更高。不会是简单的数学计算,如(5+2) = 7。而是根据Lucene评分计算方法的一些分数。