2つのLuceneインデックス(バージョン3.5.0)があり、HibernateSearchで記述します。個々のインデックスの結果の共通部分(AND)である結果を返す検索を実装する必要があります。主な問題は、個々の結果と最終結果の両方が非常に大きくなる可能性があるため、組み合わせが効率的である必要があることです。これを行うための効率的な方法はありますか?マルチリーダーは私を助けることができますか?
質問する
1487 次
1 に答える
1
- MultiReader は、複数のインデックスを検索する簡単な方法です。
各 Lucene ドキュメントにそのインデックスを付けることは、おそらく最速のソリューションです。
index:global
andのようなもの( andインデックスindex:local
がある場合)。たとえば、「例外」に対するクエリは次のようになります。global
local
(例外 AND インデックス:グローバル) OR (例外 AND インデックス:ローカル)
その後、両方のインデックスで発生する Lucene ドキュメントの検索結果をフィルタリングします。
単純なクエリを実行できないことに注意してください。
exception AND (index:global AND index:local)
index:global
と の両方のindex:local
値を持つ 0 (ゼロ) の Lucene ドキュメントが存在するためです。
于 2013-02-05T12:06:59.717 に答える