【问题标题】:Solr indexes are not visibleSolr 索引不可见
【发布时间】:2012-08-20 19:54:02
【问题描述】:

我们使用训练服务器创建solr索引并通过rsync将它们上传到另一个(solr)服务器。

到目前为止,一切都很好。现在,我们在一个核心上的索引大小急剧增加,我们的 solr 实例拒绝读取该核心上的那些索引。此外,他们无一例外地忽略了这些索引。 (我们肯定会在rsyncs 之后重新加载内核或重新启动tomcat

即:在solr statsnumDocs0/select?q=*:* 没有返回任何结果..

只是为了回答这个问题,这些索引是否已损坏,我们已经重新生成了几次。但一切都没有改变。当我们尝试使用较小的索引时,它们会被很好地读取。

我们这个核心中的solrconfig.xml是这样的; https://gist.github.com/983ebb13c895c9cccbfb

【问题讨论】:

  • 你能分享你的 catalina 日志文件吗?
  • 嘿,埃文,我们已经调查了日志文件。没有任何东西指向错误。但是我们已经意识到我们的“段”文件已损坏。这很可能与我们的培训师有关。
  • 你试过使用内置复制吗?
  • 为什么不尝试查看索引文件?
  • 如果您的segments 已损坏,您可以尝试恢复它。在这里阅读:solr.pl/en/2011/01/17/checkindex-for-the-rescue

标签: solr


【解决方案1】:

使用 rsync 复制索引是一个坏主意。当您启动复制操作时,您的 Solr 服务器可能尚未完成将文件写入磁盘,您最终可能会损坏。唯一安全的方法是关闭主服务器(源索引),关闭从服务器(目标索引),删除从服务器索引目录的全部内容,复制主服务器的索引,然后重新启动一切。

上面 Peer Allan 所建议的更好的方法是使用 Solr 的内置复制支持。见http://wiki.apache.org/solr/SolrReplication

【讨论】:

  • 我同意,我们通过从文件复制解决方案切换到使用已经内置的复制解决了很多问题。
猜你喜欢
  • 2017-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多