Solr云计分发生在碎片内部而不是整体收集

问题描述:

solr云计分在碎片中计算。Solr云计分发生在碎片内部而不是整体收集

我有一个集合和两个碎片。我在shard1中有110个文档,在分片2中有90个文档与字段名称匹配:约翰

文档的solr评分因分片而不同,我需要solr来计算总体集合中的文档分数,而不是在分片和合并中。

例如:搜索约翰返回2条记录完全匹配,得分是3.2和2.2。有什么办法基础上收集的,而不是碎片进行打分

你有你的solrconfig.xml中这样使ExactStatsCache

<statsCache class="org.apache.solr.search.stats.ExactStatsCache"/> 

默认的Solr只使用本地统计,这将使的Solr使用全球统计得分,并应解决您的问题。

+0

谢谢。我会尝试并让你知道。 – chimbu

您有兴趣分布式IDF [1]。 这将允许您在同一个IDF的基础上对不同分片中的文档进行精确评分。

记住,即使在这种情况下,“与精确匹配的文档”可以有不同的分数: 1)不同的字段长度 2)不同词频参与 3)不同提升的条款(如果适用)

干杯 [1] https://cwiki.apache.org/confluence/display/solr/Distributed+Requests

+0

我需要完全匹配的文档才能得到相同的分数。将尝试Exactstatscache。 – chimbu

+0

有什么办法可以禁用某些得分参数,比如tf,idf,? – chimbu