2011-08-06 11 views
1

lucene indexWriterオーバーヘッドを作成しますか?

 
IndexWriter myWriter = new IndexWriter(pathOnDisk); 
int segCount = myWriter.GetSegmentCount(); 
if (segCount > 1) 
    myWriter.Optimize(); 
myWriter.Close() 

上記のコードを50種類のインデックスディレクトリに対して実行したいので、インデックスの作成者がオーバーヘッドを持っているかどうかを知りたいですか?

答えて

0

ロックファイルの作成(133行目参照)、セグメント情報の読み込み、高価な場合とそうでない場合があります。

0113 IndexWriterを開くと、使用中のディレクトリのロックファイルが作成されます。 別のIndexWriterを同じディレクトリに開こうとすると、 (LockObtainFailedException)になります。同じディレクトリにあるIndexReaderを使用してインデックスから文書 を削除すると、ロックバックファインドエラーメッセージ もスローされます。

835から始まるjava sourceをチェックしてください。これは小さなコンストラクタではありませんが、重要な意味を判断する必要があります。

関連する問題