2011-11-09 1 views
0

말하자면, 나는 Solr Index가 60GB입니다. 나는 그것을 10GB Solr Index와 병합하고 싶다. 최소 시간 내에 병합하는 가장 좋은 방법은 무엇입니까? 누가 합병 프로세스가 얼마나 빠를 수 있는지에 대한 성능 벤치 마크를 에게 줄 수 있습니까? JAVA를 사용하여 색인 디렉토리를 병합합니다.최소한 60GB 및 10GB의 solr 인덱스를 병합하는 최상의 방법은 무엇입니까?

대단히 감사합니다!

답변

2

Lucene의 IndexMergeTool을 사용하여 이러한 인덱스를 병합합니다. 이 기능은 다른 도구에이 기능을 내장해야하는 경우를 대비하여 IndexWriter#addIndexes을 사용합니다. 끝에 인덱스를 최적화 할 필요가 없다면 IndexWriter#addIndexesNoOptimize을 사용하는 것이 더 빠를 수도 있습니다.

+0

안녕 jpountz, 나는 두 개의 인덱스 디렉토리를 병합하려면 다음 명령 중 하나를 발행 말할 수, IndexMergeTool의 index1의 (60기가바이트) index2 (10기가바이트) destIndex하고, IndexMergeTool의 index2 (10기가바이트)로부터 index1 (60기가바이트는) 어느 하나를 destIndex 위의 중 가장 작은 인덱스를 병합하는 것이 이상적입니까? 또는 IndexMergeTool이 가장 큰 인덱스와 병합 할 가장 작은 인덱스를 어떻게 결정합니까? –

+0

Lucene MergePolicy는 세그먼트를 병합하는 최상의 순서를 계산하므로 아무 것도 할 필요가 없습니다. 'IndexMergeTool dest index1 index2'를 실행하십시오. (작동 방법에 관심이 있다면 http://lucene.apache.org/java/3_2_0/api/all/org/apache/lucene/index/MergePolicy.html을 참조하십시오. Lucene 3.2 이후 기본 구현은 TieredMergePolicy입니다. 이전 버전의 경우 LogByteSizeMergePolicy). – jpountz

+0

안녕하세요 Jpountz, 괜찮 으면 60GB 파일을 10GB 파일과 병합하는 데 걸리는 시간을 예측할 수 있습니까? –

관련 문제