私はLuceneインデックスから文書を削除し、後でそれらを再度追加する必要があります。ドキュメントを削除済みとしてマークし、それをもう一度追加しようとすると、ドキュメントが削除されたままになっているようです。どのようにして文書を元に戻すことができますか?Lucene.netの索引で文書の削除を取り消すことはできますか?
これは、私が「削除」として文書をマークしています方法です:
Term = new Tearm("id", Id.Value);
IndexSearcher.reader.DeleteDocuments(term);
IndexSearcher.reader.Close();
だから私は再びこの文書を「活性化」したい場合..私はそれを行うだろうか?
ありがとうございます!
Lucene.Netの非常に古いバージョンを使用しているようです(最近、人々はIndexWriterのDeleteメソッドを使用しています)どのバージョンを使用していますか? –
バージョン2.0.0.4を使用しています。私は、IndexWriterにDeleteメソッドがあることに気付かなかった。削除すると本当に文書が削除されるのか、それとも削除されたとマークするだけですか? – Nick
A)いいえ、2.0.0.4のIndexWriterにはDeleteメソッドがありません。私が正しく思い出すと、それは2.3.1で導入されました。 B) 'それとも、削除されたことだけをマークするのですか?これはすべての(AFAIK)DB、検索エンジンが動作する方法です。私は、2.9.2または2.9.4にアップグレードした後、あなたの質問を再確認する方が良いと思う。 –