2009-06-18 12 views
2

Webサーバー(IIS 7)でホストされているasp.net Webアプリケーションがあります。Luceneを検索機能として使用しています。 Lucene検索リクエストは、2つのアプリケーションサーバー(IIS 7)にある.Net WCFサービスによって提供されます.2つのアプリケーションサーバーは、「netscaler」を使用して負荷分散されます。2つのアプリケーションサーバー間でLuceneインデックスを同期する

これらの両方のサーバーでは、夜間に各サーバーの検索インデックスを毎日更新する.net Windowsサービスをホストしています。

これらの2つのサーバーで検索インデックスを同期させる必要があるため、いずれの時点でも両方のサーバーにuptodateインデックスがあるようにしてください。 私は、2つのアプリケーションサーバーのいずれかがその可用性に応じて検索要求を提供できるという事実を考慮に入れて、最良のアーキテクチャ/設計戦略ができると考えていました。

入力してください。

読んでいただきありがとうございます!

+1

重複:http://stackoverflow.com/questions/944166 – itsadok

+0

これは似ていますが重複するものではありません。その質問は増分更新について語っています。ここで更新は夜間です。これにはさまざまな戦略が必要です。 –

+0

OPは重複した質問から彼の答えを得た。 –

答えて

1

基本的に、同じLuceneインデックスの2つの同一のコピーが必要です.1つはIISサーバーごとに1つです。 私は、最も簡単なアプローチは、あるマシンで更新されたインデックスを作成し、それを最適化してから、別のマシンにコピーすることです。 Linuxではrsyncを使用しますが、私はWindowsの同等物を知らない。 Jeff Atwood's ideas for Windows rsync alternativesを参照してください。 また、同じインデックス更新コマンドを両方のLuceneインデックスに発行し、それらが正しく処理されたことを確認することもできます。これは技術的に難しく、頻繁な更新がある場合にのみ役立ちます。分散Luceneインデックスについては、Scaling Lucene and Solrを参照してください。

関連する問題