.net Webアプリケーション用のLucene検索APIを使用しています。 MultiSearcherの賛否両論を知ることはできますか?どのシナリオでそれを使用しますか?LuceneのMultiSearcherクラスの長所と短所
読んでいただきありがとうございます!
.net Webアプリケーション用のLucene検索APIを使用しています。 MultiSearcherの賛否両論を知ることはできますか?どのシナリオでそれを使用しますか?LuceneのMultiSearcherクラスの長所と短所
読んでいただきありがとうございます!
MultiSearcher
の主な欠点は、複数の検索者の結果を単一のヒットセットにマージする際に若干のオーバーヘッドがあることです。これは、最適化されていないインデックスを使用した場合のペナルティに似ていますが、おそらく深刻ではない—それは関係する検索ユーザーの数によります。
ただし、多くの文書がある場合や頻繁に更新する必要がある場合は、MultiSearcher
は非常に便利です。巨大なデータベースを持っている場合は、ドキュメントを複数のグループに分割して、別々のマシン上で索引付けして並列に検索し、一緒に検索することができます。頻繁な更新が必要な場合は、ファイルシステムのディレクトリが1つあるMultiSearcher
があり、インデックスの更新が速いRAMディレクトリが1つあります。新しいドキュメントはRAMディレクトリに移動し、定期的にRAMディレクトリの内容がファイルシステムディレクトリにマージされます。
ParallelMultiSearcher
もお考えください。マシンのアーキテクチャーやクエリの負荷によっては、これが傷ついたり助けたりする可能性があります。コア数が多い場合は、役立つ可能性がありますが、スレッディングに伴うオーバーヘッドが増えるため、代表的な負荷の下でプロファイリングが必要になります。
この回答はお寄せください。 http://stackoverflow.com/questions/899542/problem-using-same-instance-of-indexsearcher-for-multiple-requests –