Solr相关性分数在复制节点上有所不同

时间:2019-01-04 09:22:30

标签: solr solrcloud

版本Solr 7.4.0 zookeeper 3.4.11 架构两个盒子Machine-1,Machine-2持有单个Solr实例

我们有一个单一碎片和单个副本的集合,即s = 1和rf = 1

几天前,我们尝试向其添加副本。但是,相同查询的得分却与不同副本不同。

http://Machine-1:8983/solr/MyTestCollection/select?q=%22data%22+OR+(data)&rows=10&fl=score&defType=edismax&qf=search_field+content&wt=json

“响应”:{“ numFound”:5836,“开始”:0,“ maxScore”: 4.418847 ,“文档”:[

而在另一台计算机(副本)上

http://Machine-2:8983/solr/MyTestCollection/select?q=%22data%22+OR+(data)&rows=10&fl=score&defType=edismax&qf=search_field+content&wt=json

“响应”:{“ numFound”:5836,“开始”:0,“ maxScore”: 4.4952264 ,“ docs”:[

maxScore不同。

相关性由于分片而受到影响,但是由于相同的文档被复制到其他节点,因此不希望复制。分数解释给出了docCount和docFreq不一致的问题。

idf,由以下公式计算为log(1 +(docCount-docFreq + 0.5)/(docFreq + 0.5)) 1.050635000 docCount: 10020.000000000 docFreq: 3504.0000000

idf,由以下公式计算为log(1 +(docCount-docFreq + 0.5)/(docFreq + 0.5)) 1.068795100

docCount: 10291.000000000 docFreq: 3534.0000000

更新:对不同的集合进行了相同的尝试。两个实例的得分均相同。似乎是特定集合的问题。

我们如何更正原始集合。

1 个答案:

答案 0 :(得分:0)

如果在进行索引编制时执行此操作,则主文档可能比副本副本多(副本副本在后面,总是在追赶),因此文档编号可能会略有不同。如果您在没有进行索引并且已经提交时得到了此消息,则应该是一个错误。