0

私はapacheluceneを初めて使用します。私はluceneを使い始めました。私は問題に直面していました。ディレクトリ内のすべてのファイルのインデックス作成を開始しました。私はインデックスライターを閉じず、ルークで開こうとしました。「インデックスが閉じられていません」というエラーが表示されました。ここでの問題は、コードの実行が完了したことです。インデックスのロックを解除する方法は?同じディレクトリで新しいIndexWriterをインスタンス化すると、既存のインデックスが上書きされますか?

4

1 に答える 1

1

私も専門家ではありません..

私があなただったら、次のようにします..

1) 次のスニペットをコードの最後に追加します。これは、なんとしてでも必須です。

myIndexWriter.close(); 

2) 既存のディレクトリを手動で削除し、コード全体を再実行します。

ディレクトリを削除せずに新しい IndexWriter をインスタンス化すると、既存のインデックスにドキュメントが追加されます。はい、インデックス エントリが重複します。

ただし、Lucene の観点では、これらのすべてのエントリは依然として一意です。つまり、すべての addDocument() は、新しい一意の lucene-internal-doc-id を持つ新しいエントリをインデックスに作成します。

于 2012-07-26T01:21:19.980 に答える