当文档字段与提升查询(bq)中的术语匹配时,Solr中会发生什么?

时间:2017-07-17 19:18:43

标签: search solr lucene boosting

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

bq中的这个词只是"掉线"并忽略了?这是说如果你有bq=name:"bob"^5 location:"Boston"2这样的东西但只有文件上的名字匹配那么它会得到5分,但如果两者匹配则得分为7分?我已经阅读了文档,但我仍然无法理解这一点。

感谢您的任何见解!

1 个答案:

答案 0 :(得分:0)

来自文档

  

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

因此,如果某些文档与boost查询中的术语不匹配,那么特定文档将不会从结果集中排除。与其他人相比,他们只获得较低的分数。因为提升查询只会影响分数。

现在,如果我们查看下面的提升查询。

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

那么,匹配两个查询的文档在与仅匹配一个的其他文档的比较中获得更多分数。这不是简单的数学计算,如(5 + 2)= 7.但是根据Lucene得分计算方法得分。