SOLR得分范围发生了变化

时间:2018-02-22 16:47:35

标签: solr

我正在从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.1最高分为12.99分,最低分为11.25分 SOLR 4.10.2最大3.97和最小值0.77

查看值的范围是如何不同的(7.1中的范围不要低至0.x) 另请注意,当我在7.1中为搜索词添加一个单词时,最高分数会翻倍。最重要的是,4.10.2中的范围重叠 - 但7.1不重要。

更多信息向您展示我如何使用此信息,以及为什么会导致问题。

我得到的公司名称如“bobs cabinetry”和另一家“所有美国科技企业”

我按公司名称运行两次SOLR查询,我称之为1-AND,1-OR,2-AND,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行。(requestid让我知道结果来自哪个查询)

由于分数范围的变化,排序将所有美国科技企业行推到结果的顶部(因为没有重叠),并且当前750名被采取时,所有的bobs木工被删除从结果。

是否有一些配置设置我可以更改以使分数计算像4.10.2中那样运行?

还是其他什么?

1 个答案:

答案 0 :(得分:1)

对于初学者来说,Solr6中的相似性变为BM25,所以这应该是可以做的事情。如果你想尽可能多地获得类似于4.x的分数,我会:

  1. 使用tdidf相似度,请参阅here
  2. 查看发行说明,看看其他一些默认值是否已更改,对分数有一定影响。在请求中使用调试和解释参数来获取有关如何计算结果的详细信息