1

複数回使用できるように、FSDirectory で lucene インデックスを構築します。そのため、新しいバッチを実行するときは、lucene によって作成されたすべての異なるファイルがハード ドライブから削除されるように、バッチを削除する必要があります。

IndexWriter.deleteAll()すべてのドキュメントを削除しますが、一部のセグメント ファイルは削除されません。luceneディレクトリにあるセグメントファイルを削除する方法を教えてください。

異なるセグメント ファイルは、 segments.gen segment_2 などです。

4

1 に答える 1

0

Lucene は、新しいセグメントが以前のどのセグメントよりも低い「カウンター」値を取得しないといういくつかの仮定を維持できるように、セグメント情報を保持します。削除するのはかなり無意味に思えます。本当にその場所を再利用したい場合は、インデックス全体を削除し、同じ場所に新しいインデックスを作成してください。

外部から Lucene のファイルを削除することは、問題のレシピです。

于 2013-06-05T12:22:00.653 に答える