我们有一大堆文本文档要在Solr中编制索引。但是由于索引大小太大,我们决定使用Solr Cloud将其拆分为不同的分片。现在根据我的理解,无论何时执行搜索,它都将分布在所有分片上,并且所有分片的结果将被合并并返回。但是,特定分片只会在其托管的索引中搜索。我的问题是它是否会影响搜索结果的质量,因为实际应该在整个文档集上计算的IDF现在只计算在特定分片中的文档?
答案 0 :(得分:2)
Solr不计算通用术语/ doc频率,它是按节点完成的。对于大多数大规模实现,Solr在分片级别计算TD / IDF并不重要。但是,如果您的收藏在服务器上的分布严重偏差,您可能会在搜索中发现误导性的相关性结果。通常,最好将文档随机分发到您的分片。
有关此内容的更多信息:https://cwiki.apache.org/confluence/display/solr/Distributed+Search+with+Index+Sharding