有没有办法修复solr索引

有没有办法修复solr索引,solr,Solr,我正在运行一个程序,它可以爬网并将数据保存到solr索引中。由于神秘的原因,solr服务器崩溃了。现在我的索引被破坏了,没有段文件,因此有可能丢失5天内收集的所有数据 尝试搜索此索引时,错误消息如下所示。索引文件夹肯定有数据,因为它有182个文件和2GB大小 我曾尝试使用CheckIndex,但在没有段文件的情况下得到相同的错误 java.util.concurrent.ExecutionException: org.apache.solr.common.SolrException: Unabl

我正在运行一个程序,它可以爬网并将数据保存到solr索引中。由于神秘的原因,solr服务器崩溃了。现在我的索引被破坏了,没有段文件,因此有可能丢失5天内收集的所有数据

尝试搜索此索引时,错误消息如下所示。索引文件夹肯定有数据,因为它有182个文件和2GB大小

我曾尝试使用CheckIndex,但在没有段文件的情况下得到相同的错误

java.util.concurrent.ExecutionException: org.apache.solr.common.SolrException: Unable to create core [chase]
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.apache.solr.core.CoreContainer.lambda$load$6(CoreContainer.java:586)
    at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:176)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:229)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.solr.common.SolrException: Unable to create core [chase]
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:935)
    at org.apache.solr.core.CoreContainer.lambda$load$5(CoreContainer.java:558)
    at com.codahale.metrics.InstrumentedExecutorService$InstrumentedCallable.call(InstrumentedExecutorService.java:197)
    ... 5 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:977)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:830)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:920)
    ... 7 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2069)
    at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2189)
    at org.apache.solr.core.SolrCore.initSearcher(SolrCore.java:1071)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:949)
    ... 9 more
Caused by: org.apache.lucene.index.IndexNotFoundException: no segments* file found in LockValidatingDirectoryWrapper(NRTCachingDirectory(MMapDirectory@/home/zqz/Work/chase/aws/data/solr/chase/data/index lockFactory=org.apache.lucene.store.NativeFSLockFactory@51b2fc7e; maxCacheMB=48.0 maxMergeSizeMB=4.0)): files: [_fh2.fdt, _fh2.fdx, _fh2.fnm, _fh2.nvd, _fh2.nvm, _fh2.si, _fh2_Lucene50_0.doc, _fh2_Lucene50_0.pos, _fh2_Lucene50_0.tim, _fh2_Lucene50_0.tip, write.lock]
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:925)
    at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:118)
    at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:93)
    at org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:248)
    at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:122)
    at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2030)
    ... 12 more
2017-06-20 14:38:52.428 INFO  (qtp475266352-16) [   ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores
2017-06-20 14:38:52.894 INFO  (qtp475266352-13) [   ] o.a.s.s.HttpSolrCall [admin] webapp=null path=/admin/cores params={indexInfo=false&wt=json&_=1497969532681} status=0 QTime=11
2017-06-20 14:38:52.962 INFO  (qtp475266352-20) [   ] o.a.s.s.HttpSolrCall [admin] webapp=null path=/admin/info/system params={wt=json&_=1497969532684} status=0 QTime=76
java.util.concurrent.ExecutionException:org.apache.solr.common.SolrException:无法创建核心[chase]
位于java.util.concurrent.FutureTask.report(FutureTask.java:122)
位于java.util.concurrent.FutureTask.get(FutureTask.java:192)
位于org.apache.solr.core.CoreContainer.lambda$load$6(CoreContainer.java:586)
位于com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:176)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于org.apache.solr.common.util.execututil$MDCAwareThreadPoolExecutor.lambda$execute$0(execututil.java:229)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:748)
原因:org.apache.solr.common.SolrException:无法创建核心[chase]
位于org.apache.solr.core.CoreContainer.create(CoreContainer.java:935)
位于org.apache.solr.core.CoreContainer.lambda$load$5(CoreContainer.java:558)
位于com.codahale.metrics.InstrumentedExecutorService$InstrumentedCallable.call(InstrumentedExecutorService.java:197)
... 还有5个
原因:org.apache.solr.common.SolrException:打开新搜索程序时出错
位于org.apache.solr.core.SolrCore(SolrCore.java:977)
位于org.apache.solr.core.SolrCore(SolrCore.java:830)
在org.apache.solr.core.CoreContainer.create上(CoreContainer.java:920)
... 还有7个
原因:org.apache.solr.common.SolrException:打开新搜索程序时出错
位于org.apache.solr.core.SolrCore.opennewsearch(SolrCore.java:2069)
位于org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2189)
位于org.apache.solr.core.SolrCore.initSearcher(SolrCore.java:1071)
位于org.apache.solr.core.SolrCore(SolrCore.java:949)
... 9更多
原因:org.apache.lucene.index.IndexNotFoundException:在LockValidatingDirectoryWrapper(NRTCachingDirectory)中找不到segments*文件(MMapDirectory@/home/zqz/Work/chase/aws/data/solr/chase/data/index lockFactory=org.apache.lucene.store)。NativeFSLockFactory@51b2fc7e;maxCacheMB=48.0 maxMergeSizeMB=4.0)):文件:[\u fh2.fdt、\u fh2.fdx、\u fh2.fnm、\u fh2.nvd、\u fh2.nvm、\u fh2\u Lucene50\u 0.doc、\u fh2\u Lucene50\u 0.pos、\u fh2\u Lucene50\u 0.tim、\u fh2\u Lucene50\u 0.tip、write.lock]
位于org.apache.lucene.index.IndexWriter(IndexWriter.java:925)
位于org.apache.solr.update.SolrIndexWriter.(SolrIndexWriter.java:118)
位于org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:93)
位于org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:248)
位于org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:122)
位于org.apache.solr.core.SolrCore.opennewsearch(SolrCore.java:2030)
…还有12个
2017-06-20 14:38:52.428信息(qtp475266352-16)[]o.a.s.c.TransientSolrCoreCacheDefault为2147483647个瞬态内核分配瞬态缓存
2017-06-20 14:38:52.894信息(qtp475266352-13)[]o.a.s.s.HttpSolrCall[admin]webapp=null路径=/admin/cores参数={indexInfo=false&wt=json&&97969532681}状态=0 QTime=11
2017-06-20 14:38:52.962信息(qtp475266352-20)[]o.a.s.s.HttpSolrCall[admin]webapp=null路径=/admin/INFO/system参数={wt=json&97969532684}状态=0 QTime=76

您提到的错误是由丢失的文件引起的: 分段*例如分段3。。。 在索引文件中: 文件:[\u fh2.fdt、\u fh2.fdx、\u fh2.fnm、\u fh2.nvd、\u fh2.nvm、\u fh2.si、\u fh2\u Lucene50\u 0.doc、\u fh2\u Lucene50\u 0.pos、\u fh2\u Lucene50\u 0.tim、\u fh2\u Lucene50\u Lucene50.tip、write.lock]

该文件指定了要考虑的最后一个提交点和最后一代段,显然它丢失了。 检查该文件是否存在并且可读

如果不是(例如,因为索引编写器由于功能问题没有正确关闭),请不要绝望

事务日志很可能仍然包含您索引的文档,因此您可以重播它并取回文档(清除索引目录,使solr启动,它应该会小心)。
Solr还允许备份功能,因此将来您可能需要配置它。

第一件事:在索引上运行CheckIndex,但它也会生成相同的错误,即找不到段文件。谢谢。不,文件不在那里。该程序在AWS amazon cloud上运行,我不知道服务器崩溃的原因。当我去的时候为了收集数据,这只是剩下的…不幸的是,我无法重新索引文件,因为在本例中,我正在抓取twitter流,无法“重新”实时流。您有事务日志(tlog)吗启用?这在灾难恢复时很有用。我不确定,我怎么知道?您的数据目录中有tlog目录吗?