12

Lucene.Net は、頻繁に変更されるコンテンツの検索エンジンとして適していますか?

より具体的に言えば、lucene.net インデックスの更新速度について主観的な意見を言える人はいますか? 頻繁に変化するコンテンツを検索するための他のアプローチは素晴らしいでしょう。

私たちはフォーラムを開発しています。フォーラムの投稿は、フォーラム リポジトリに頻繁に追加されます。検索できるようにするには、これらの投稿を lucene インデックスにすばやく (0.5 秒未満で) 追加する必要があると考えています。最初のリポジトリには約 5E6 の投稿があります。非エキゾチックなサーバーで実行されている検索エンジンを想定します (これは非常に漠然としています!)。

頻繁に変更されるコンテンツの検索の問題に対処することに関するその他の提案を歓迎します。フォーラムの投稿は、可変数の名前付きタグで検索可能である必要があります (タグ名と値が一致する必要があります)。SQL ベースのアプローチ (Toxi スキーマに基づく) では、必要なパフォーマンスが得られません。

4

2 に答える 2

9

アウト フォーラム ( http://episteme.arstechnica.com ) は検索バックエンドとして Lucene を使用しているため、実行可能です。投稿は思ったほど早くインデックス化されませんが、インデックス作成ハードウェアを強化し、よりスマートなキャッシュ戦略を使用することで解決できます。

この質問に対する一般的な答えは、書き込み/更新パターンが何であるかによって異なります。ほとんどのコンテンツは新しく、既存のコンテンツはそれほど頻繁に更新されないため、フォーラムは比較的簡単です。

フォーラムの場合は、「アーカイブ」インデックスと「ライブ」インデックスを用意することをお勧めします。ライブ インデックスには過去 1 日、1 週間、1 年の投稿が含まれる場合がありますが、アーカイブ インデックスにはおそらく二度と触れられない大量の投稿が含まれます。そのため、誰かが新しい投稿を作成すると、最初にライブ インデックスにインデックスされます。後で、一部のバッチ ジョブがライブ インデックスをクリアし、すべてをアーカイブに再インデックス化します。

Lucene は、複数のインデックスにまたがるクエリに非常に優れています。その能力を悪用すべきです。:)

于 2008-11-07T15:39:07.300 に答える
4

Lucene.Netは非常に高速ですが、間違って使用するとクエリの速度が低下する可能性のあるものがたくさんあります。エリック・ハッチャーとオーティス・ゴスポドネティッチの 『 Lucene in Action 』を読むことを強くお勧めします。パフォーマンステストとチューニングに関する非常に優れた章が含まれています。

于 2008-11-20T10:59:09.927 に答える