重複の可能性:
Lucene が既存のドキュメントの更新をサポートしない理由
ドキュメントがインデックス化された後 (再インデックス化せずに) 保存されたフィールド値を更新することは可能ですか?
重複の可能性:
Lucene が既存のドキュメントの更新をサポートしない理由
ドキュメントがインデックス化された後 (再インデックス化せずに) 保存されたフィールド値を更新することは可能ですか?
簡単な答え: いいえ。
ドキュメントを削除して再度追加する必要があります。これは保存されたフィールドであり、インデックス付きのフィールドです。IndexWriter.updateDocument() Javadocを参照してください。
「最初に用語を含むドキュメントを削除し、次に新しいドキュメントを追加することで、ドキュメントを更新します。削除と追加は、同じインデックスの読者から見たようにアトミックです (フラッシュは追加後にのみ発生する可能性があります)。」
もう 1 つの代替手段は、更新が必要なデータを Lucene の外部 (リレーショナル DB など) に格納することです。
保存されたフィールドまたはインデックス フィールドのインプレース更新を可能にするために、あらゆる種類の作業が進行中ですが、Lucene V4 以前について具体的なことは何もありません。