我正在从SOLR 4.10.2迁移到SOLR 7.1。
一切似乎都进行得很顺利,除了一件事:结果文档返回的分数是不同的分数。
核心使用架构。下面是我正在搜索的字段的模式信息:
<field name="IDX_Company" type="text_general" indexed="true" stored="false" multiValued="true" />
<field name="Company" type="string" indexed="true" stored="true"/>
<copyField source="Company" dest="IDX_Company"/>搜索maxrows=750时,字段:*,得分
IDX_Company:(猫和抓伤)
SOLR 7.1:最高得分6.95分,最低6.28分
SOLR 4.10.2:最高得分8.63分,最小0.91分
IDX_InsuredName:(猫抓和发烧)
SOLR 7.1max为12.99,a min为11.25 SOLR 4.10.2 max 3.97,最小为0.77
看看值的范围是如何不同的(范围为7.1,不要下降到0.x),还注意到,当我在7.1中的搜索词中添加一个单词时,最大值会加倍。最重要的是,4.10.2中的范围重叠,但7.1没有。
更多一些信息,向您展示我是如何使用这些信息的,以及这会导致问题的原因。
我得到了一个公司的名字,比如"bobs橱柜“和另一个”全美国科技企业“。
我按公司名称运行两个SOLR查询,我将它们命名为1-和,1-OR,2-和2-OR。
IDX_Company:(bobs AND cabinetry) &f=*,score,requestid:"1-AND"
IDX_Company:(bobs OR cabinetry) &f=*,score,requestid:"1-OR"
IDX_Company:(all AND american AND tech AND enterprise) &f=*,score,requestid:"2-AND"
IDX_Company:(all OR american OR tech OR enterprise) &f=*,score,requestid:"2-OR"我将结果按降分排序,然后取前750行(请求让我知道结果来自哪个查询)
由于分数范围的变化,这一排序将所有美国科技企业的行都推到了结果的顶端(因为没有重叠),当将前750位取走时,所有的bobs木匠都会从结果中删除。
是否有一些配置设置,我可以改变,使分数计算的行为,如它在4.10.2?
还是别的什么?
发布于 2018-02-22 17:45:59
首先,在BM25中,相似性更改为Solr6,所以这应该已经是要做的事情了。如果你想得到尽可能接近4.x的分数,我会:
https://stackoverflow.com/questions/48932910
复制相似问题