Solr计数不正确
背景:我们的Zookeeper
设备中有3个设备发生故障,导致我的SOLR
系统崩溃。我添加了新的Zookeeper
机器并使用新的Zookeeper
机器更新了每个SOLR
机器配置。Solr计数不正确
在此之后,我开始SOLR
并使用管理页面查询*:*
,每当我查询池时返回一个不同的数字。
因此,我清除了SOLR
云中的所有记录,并运行了一个batch-job
以将所有数据从Oracle重新填充到SOLR。 (一切看起来不错)。
问题:我有一个日常batchjob
,它更新SOLR
从DELTA(Inserts + Updates)
从Oracle
。
由于这个实例。 SOLR
池中的编号与DELTA(insert + update)
不匹配。例如:即使每天更新或插入1000条记录,SOLR计数也会超过10000.
*:*
返回的数字不匹配。我们已经尝试多次清除记录。当我们在清除后第一次插入记录时,事情看起来不错,但只要更新开始发生,数字就不匹配。
没有重复记录。如果我查询特定的记录,我们会得到正确的记录,但是方面的数字也是错误的。
索引文件是否损坏?
尝试优化您的索引。我也面临同样的问题,并优化索引修复它。
curl http://hostname:8980/solr/<core>/update?optimize=true
优化上的一些更多的信息:
http://wiki.apache.org/solr/SolrPerformanceFactors#Optimization_Considerations
PS:请注意,优化是昂贵的。你不应该每天运行一次以上。
我试过优化索引。到目前为止,这并没有改变。 – user1324887
只是跟在这一次。发现我们的分片中有不同'_version_'的重复文档。我在2个分片的2个不同节点上用'distrib = false'运行了solr查询,他们都返回了2个具有不同'_version_'的文档。有什么见解? – user1324887
1.群集有多少个Solr实例? 2.多少片碎片? 3.你如何做索引?通过SolrJ或其他任何东西? –
群集中的25个实例,3个Shards。我有一个Spring批处理作业,它读取记录并在'SOLR' – user1324887
did zk中跟踪记录所有实例的正确状态? –