방금 솔라를 4.7에서 7.1로 업그레이드했습니다. 이전 폴더 이름 'old_core'('index', 'snapshot_metadata'및 'tlog'폴더가 들어 있음)가 데이터 폴더에 복사되었습니다. 새로운 solr UI를 통해 새 코어를 만들었습니다.4.7에서 7.1로 업그레이드 한 후 Solr 색인 문제가 발생했습니다.
solr을 시작할 때 UI에 다음과 같은 오류 메시지가 표시됩니다. old_core: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Error opening new searcher
.
"new_core"하위 폴더 'index'를 "old_core"폴더에 복사하면 오류 메시지없이 시작된다는 것을 알았습니다.
solr 버전 4.7의 인덱스를 버전 7.1로 전송할 수 없다는 의미입니까? 해결 방법이 있습니까? 그것은 안전하거나 인덱스를 손상시킬 수 있습니까? 로그에서
오류 : 짧은
:
전체에 의해 발생 : org.apache.lucene.index.IndexFormatTooOldException : 형식 버전이 지원되지 않습니다 (자원 BufferedChecksumIndexInput (MMapIndexInput (경로 = "/ 데이터/SOLR/sst1_1/index/segments_5 ")))) : 1 (6에서 7 사이 여야 함). 이 버전의 Lucene은 릴리스 6.0 이상으로 작성된 색인 만 지원합니다.
: 사전에 >
ERROR - 2017-11-23 10:05:57.182; org.apache.solr.core.CoreContainer; Error waiting for SolrCore to be created
java.util.concurrent.ExecutionException: org.apache.solr.common.SolrException: Unable to create core [sst1_1]
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$14(CoreContainer.java:671)
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:188)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.solr.common.SolrException: Unable to create core [sst1_1]
at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1045)
at org.apache.solr.core.CoreContainer.lambda$load$13(CoreContainer.java:642)
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:989)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:844)
at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1029)
... 7 more
Caused by: org.apache.solr.common.SolrException: Error opening new searcher
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2076)
at org.apache.solr.core.SolrCore.getSearcher(SolrCore.java:2196)
at org.apache.solr.core.SolrCore.initSearcher(SolrCore.java:1072)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:961)
... 9 more
Caused by: org.apache.lucene.index.IndexFormatTooOldException: Format version is not supported (resource BufferedChecksumIndexInput(MMapIndexInput(path="/data/solr/sst1_1/index/segments_5"))): 1 (needs to be between 6 and 7). This version of Lucene only supports indexes created with release 6.0 and later.
at org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:213)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:305)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:289)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1076)
at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:119)
at org.apache.solr.update.SolrIndexWriter.create(SolrIndexWriter.java:94)
at org.apache.solr.update.DefaultSolrCoreState.createMainIndexWriter(DefaultSolrCoreState.java:257)
at org.apache.solr.update.DefaultSolrCoreState.getIndexWriter(DefaultSolrCoreState.java:131)
at org.apache.solr.core.SolrCore.openNewSearcher(SolrCore.java:2037)
... 12 more
ERROR - 2017-11-23 10:05:59.235; org.apache.solr.update.SolrIndexWriter; SolrIndexWriter was not closed prior to finalize(), indicates a bug -- POSSIBLE RESOURCE LEAK!!!
ERROR - 2017-11-23 10:05:59.236; org.apache.solr.update.SolrIndexWriter; Error closing IndexWriter
java.lang.NullPointerException
at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3583)
at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3545)
at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:1272)
at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1317)
at org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:280)
at org.apache.solr.update.SolrIndexWriter.finalize(SolrIndexWriter.java:336)
at java.lang.System$2.invokeFinalize(System.java:1270)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:98)
at java.lang.ref.Finalizer.access$100(Finalizer.java:34)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:210)
감사합니다!
마이크
감사합니다. 그러나 이제 스크립트를 실행 한 후에 다음과 같은 오류 메시지가 나타납니다 :'solr unexpected docvalues field '_version_'(expected = NUMERIC)에 대해 NONE을 입력하십시오. 올바른 docvalues 유형으로 색인을 다시 만듭니다 .' 나는 무엇인가 놓치고 있습니까? – Mike
예, docValues를 갖도록 정의 된 필드에 대해 docValues가 누락되었습니다. 일반적으로 버전 간 인덱스 형식 이상의 변경 사항이 있으므로 스키마도 마이그레이션해야합니다. – MatsLindh
고마워요 !!! – Mike