2011-11-09 3 views
0

私は60GBのSolr Indexを持っています。私は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ギガバイト)、私は2つのインデックスディレクトリをマージするには、次のいずれかのコマンドを発行して言うことができます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のファイルをマージするのにどれくらいの時間がかかるか予測してください。 –

関連する問題