【问题标题】:Solr count is incorrectSolr 计数不正确
【发布时间】:2017-07-23 00:31:33
【问题描述】:

背景:我们的Zookeeper 机器中有三分之二发生故障,导致我的SOLR 系统崩溃。我添加了新的Zookeeper 机器并使用新的Zookeeper 机器更新了每个SOLR 机器配置。

在此之后,我启动了SOLR 并使用管理页面查询*:*,每次查询池返回不同的数字。

因此,我清除了 SOLR 云中的所有记录并运行 batch-job 以再次将所有数据从 Oracle 填充到 SOLR。 (一切看起来都不错)。

问题:我有一个每日batchjob,它会将SOLR 更新为来自OracleDELTA(Inserts + Updates)

从这个实例开始。 SOLR 池中的数字与 DELTA(insert + update) 不匹配。例如:即使一天更新或插入了 1000 条记录,SOLR 计数也相差超过 10000。

*:* 返回的数字不匹配。我们已尝试多次清除记录。当我们在清除后第一次插入记录时情况看起来不错,但是一旦开始发生更新,数字就会不匹配。

没有重复记录。如果我查询特定记录,我们会得到正确的记录,但分面编号也是错误的。

索引文件是否损坏?

【问题讨论】:

  • 1.集群有多少个 Solr 实例? 2. 多少分片? 3.你如何做索引?通过 SolrJ 或其他方式?
  • 集群中有 25 个实例,3 个 Shard。我有一个 Spring 批处理作业,它读取记录并在 SOLR 中更新它们
  • zk 是否跟踪了所有实例的正确状态?
  • @s.xie,是的。并且新的 zk 也有所有的实例。云看起来不错。
  • 没有什么可以从这些事实中敲响警钟。几点建议: 1. solr 配置提交策略。 2. 检查 solr 日志,如果复制正确完成。 3. 可能在退出 zk ensemble 时重建 solr?

标签: solr apache-zookeeper solrcloud cassini


【解决方案1】:

尝试优化您的索引。我也面临同样的问题,优化索引修复了它。

      curl http://hostname:8980/solr/<core>/update?optimize=true

更多关于优化的信息:

http://wiki.apache.org/solr/SolrPerformanceFactors#Optimization_Considerations

PS:请注意,优化是昂贵的。您不应每天运行它超过一次。

【讨论】:

  • 我已经尝试过优化索引。到目前为止,这并没有改变任何东西。
  • 只是再次跟进。发现我们的分片中有重复的文档,不同的_version_。我在来自 2 个分片的 2 个不同节点上使用 distrib=false 运行 solr 查询,它们都返回了具有不同 _version_ 的 2 个文档。有什么见解吗?
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2022-06-22
  • 2020-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多