1

私はlucene.netを使用しています。特定の期間が経過した後、同じフォルダーにインデックスを戻すコードを書いています。そのフォルダ内のコンテンツが既にインデックス化されている場合、どうすれば再インデックス化できますか? 4 つのドキュメントのインデックスを作成したとします。5 分経ってもどのドキュメントにも変更がない場合、このシナリオをどのように管理すればよいでしょうか? また、ファイルの 1 つが最近更新された場合、同じファイルの古いインデックスを置換または削除して、そのファイルを REINDEX で戻すにはどうすればよいですか?

4

2 に答える 2

1

各ファイルのタイムスタンプまたはCRCをどこかに保存するだけです(つまり、データベース)。

次に、ファイルシステムをクロールし、 を使用して変更されたファイルのみを更新しIndexWriter.UpdateDocument()、 を使用して新しいファイルを追加し、IndexWriter.AddDocument()存在しないファイルを削除しますIndexWriter.DeleteDocument()

于 2012-12-13T15:22:50.963 に答える