我将Solr核心转换为一个包含两个碎片的集合,并修改了自定义搜索组件,使其能够用于分布式搜索。在测试组件时,我注意到切分索引的结果与非切分(具有相同的查询参数)匹配,各个文档的分数不同。详细说明,当我将q=X发送到切分索引和非切分索引时,它们都返回文档A、B、C。但是,来自切分核心的文档的分数为0.1、0.2、0.3,而来自非切分核心的文档可能有0.2、0.4、0.7。
分数差异的根本原因是什么?我不太熟悉Lucene到底是如何评分文件的,所以我想知道是否值得担心。
发布于 2014-02-28 19:22:46
Lucene,因此Solr使用向量空间模型。因此,反向文档频率是关联计算中的一个因素。
当涉及到切分的时候,这会产生一种效果。正如所写的,在医生里
Solr不计算通用项/文档频率。对于大多数大规模的实现来说,Solr在碎片级别计算TD/下手并不重要。但是,如果您的集合在服务器间的分布严重倾斜,您可能会在搜索中发现误导性的关联结果。通常,最好将文档随机分发到碎片中。
目前没有共用的以色列国防军。这意味着每个碎片(索引)根据它在自己的索引中拥有的以色列国防军来计算分数。简而言之,文档的得分受在同一碎片上索引的其他文档的影响。由于在每个碎片中有不同的文档是合理的,这意味着在不同的碎片中相同的文档将有一个稍微不同的分数,就像它周围有其他文档一样。
我编写Currently there is no shared IDF时,正在进行创建分布式is的工作--正如您可以看到的在SOLR-1632。
https://stackoverflow.com/questions/22074974
复制相似问题