我们正在使用培训服务器来创建 solr索引,并通过rsync将它们上传到另一个(solr)服务器。
直到现在,一切都很好。现在,我们在一个核心上的索引大小急剧增加,我们的solr实例拒绝读取该核心上的那些索引。此外,他们忽略了这些索引,没有任何例外。 (我们确定正在重新加载核心或在tomcat
之后重新启动rsyncs
)
即:在solr stats
中,numDocs
为0
或/select?q=*:*
未返回任何结果..
回答这个问题,这些索引是否已损坏,我们已经重新生成了几次。但一切都没有改变。当我们尝试使用较小的索引时,它们被正确读取。
我们这个核心的solrconfig.xml是这样的; https://gist.github.com/983ebb13c895c9cccbfb
答案 0 :(得分:2)
使用rsync复制索引是一个坏主意。启动复制操作时,Solr服务器可能尚未完成将文件写入光盘,最终可能会损坏。唯一安全的方法是关闭master(源索引),关闭slave(目标索引),删除slave的索引目录的全部内容,复制master的索引,然后重启所有内容。
更好的方法是Peer Allan上面提出的建议 - 使用Solr的内置复制支持。见http://wiki.apache.org/solr/SolrReplication。