2017-06-20 96 views
0

我正在運行一個程序,它抓取網頁並將數據保存到索引索引中。出於神祕原因,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([email protected]/home/zqz/Work/chase/aws/data/solr/chase/data/index [email protected]; 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 
+1

第一件事:運行CheckIndex你的索引 – Persimmonium

+0

試過這個,但是它也會產生相同的錯誤,發現沒有找到的段文件 – Ziqi

回答

0

你提到的錯誤是由丟失的文件造成的: 段*如segments_3 ... 索引文件中: 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]

該文件指定了最後一個提交點和上一代要考慮的段,顯然它缺失。 檢查該文件是否存在並且可讀。

如果不是(例如因爲該指數作家沒有正確關閉,由於mulfuction,不要絕望。

機會是存在的事務日誌包含還是你創建索引的文檔,所以你可以只重新播放它並獲取文檔(清理索引目錄,啓動solr並且應該注意)。 Solr還允許備份功能,因此將來您可能需要配置它。

+0

謝謝。沒有文件不存在。 AWS運行在AWS亞馬遜雲上,我不知道服務器崩潰的原因。當我去收集數據時,這就是剩下的東西......不幸的是,我無法重新索引這些文件,因爲在這種情況下,我正在抓取Twitter流,並且沒有辦法「重做」直播流。 – Ziqi

+0

您是否啓用了事務日誌(tlog)? 對於災難恢復很有用。 –

+0

我不確定,我怎麼知道? – Ziqi

相關問題