首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SOLR分数范围改变

SOLR分数范围改变
EN

Stack Overflow用户
提问于 2018-02-22 16:47:34
回答 1查看 287关注 0票数 0

我正在从SOLR 4.10.2迁移到SOLR 7.1。

一切似乎都进行得很顺利,除了一件事:结果文档返回的分数是不同的分数。

核心使用架构。下面是我正在搜索的字段的模式信息:

代码语言:javascript
复制
<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。

代码语言:javascript
复制
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?

还是别的什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-22 17:45:59

首先,在BM25中,相似性更改为Solr6,所以这应该已经是要做的事情了。如果你想得到尽可能接近4.x的分数,我会:

  1. 使用tdidf相似性,请参见这里
  2. 翻阅发行说明,看看是否有其他的默认改变,对分数有一定的影响。使用请求中的调试和解释参数获取如何计算结果的详细信息。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48932910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档