3

検索機能に Lucene.net を使用する MVC サイトがあります。サイトには10​​万を超える製品があります。サイトのインデックスはすでに作成されています。ただし、このサイトには、データベースを定期的に更新する 2 つのデータ フィードもあります (場合によっては 15 分ごと)。そのため、データは大きく変化しています。Lucene インデックスを更新するにはどうすればよいですか、またはまったく更新する必要はありませんか?

4

2 に答える 2

3

プロセス スケジューラ ( Quartz.Net など) を使用して、頻繁に (場合によっては 15 分ごとに) 実行し、インデックスが作成されていないデータベース内のアイテムをフェッチします。

比較対象の ID としてフィールドを使用します (シーケンス番号や日時など)。追加された最新のドキュメントをインデックスから取得し、最新のドキュメントをデータベースから取得して、その間のすべてにインデックスを作成します。重複を索引付けしないように注意する必要があります (さらに悪いことに、索引付けされていない文書をスキップします)。

または、インデックス作成を 2 つのデータ フィードと同期し、ドキュメントがデータベースに保存されているときにインデックスを作成することで、上記の落とし穴 (重複/欠落) を回避できます。これらのフィードがデータベースをどのように更新しているかはわかりませんが、それらを傍受してそれに応じてインデックスを更新することはできます。

于 2013-03-03T18:51:07.890 に答える