.Net プラットフォームで「リアルタイム」検索エンジンを作成する方法について教えてください。Web のほぼリアルタイムの検索は最近非常に人気があり、アイデアのブレインストーミングを手伝ってくれることを期待していました。最終的には試作品を作ることもあるかもしれませんが、ほとんどは「メンタルトレーニング」です。
要件は次のとおりです。
- .NET プラットフォーム、IIS、MS SQL サーバー、または Lucene.Net (ファイル システム)
- 索引付けされる入力データは、キーワードと一部のメタ情報のみです。これ以上の処理は必要ありません
- データはキーワードごとにグループ化され、キーワードの出現回数によって並べ替えられます
- 履歴データは保持されません (一定期間より古いデータは破棄されるか、他のデータ ストアに移動されます)。
主題についてあまり知らないので、これは私がこれまでに思いついたものです:
データは、Web サービスを介してシステムに供給されます。データはすでにキーワードの形式になっているため、それ以上の処理は実行されません。WS はデータを db に保存します。選択クエリは一定の時間間隔で実行され、データが返されます (たとえば、過去 1 時間の受信データをクエリし、毎秒クエリを実行します)。グループ化と並べ替えはメモリ内で実行され、SQL サーバーの負荷を軽減します。db の古いデータは数分ごとに破棄されます。多くの新しい行が常に追加された場合、SQLサーバーがそれをどのように処理するかわかりません。グループ化およびソートされたデータが表示されます。
皆さんは、この種のことについて、より多くの経験とより良いアイデアを持っていると確信しています。
よろしく、
オンドレイ