複数のSolrコアを使用して、異なるセグメントの製品をインデックスします。例えば1つのインデックスには医薬品(core1)、もう1つには食料品(core2)、3つ目はエレクトロニクス商品(core3)の製品が含まれています。実際には、これらのセグメント内のカテゴリやブランドのコアについてもコアがあります。クエリパラメータに基づくDynamic Solrコアの選択
私が解決しなければならない問題は、ユーザーが何かを検索するときに、これらのコアを認識しないことです。ユーザーが送信するクエリパラメータに基づいています。私は検索する正しいコア/コアを把握したい。例えば、ユーザーのクエリがパラメータに基づいて、../select?q=apple&seg=0x3e
を持っていた場合:seg=0x3e
Core2の& Core2のは、私が破片を検索して、この作品を作ることができる異なったseg=value
のために、コアの異なるセットが
を検索するものと、検索けどCORE3ないことでしたまた、solrconfig.xmlにシャードを設定します。良いリードはhereでした。このアプローチはあまりにも静的であると思われ、クエリパラメータに基づいてシャードの制限や選択に影響を与えることはできません。
これを行う方法はありますか?カスタムSolrDispathcFilterのようなものですか?
この「負」の答え:)のため
ありがとう@Hugo。私の問題はまだゼロの結果を得ることではありません。それは無関係のマッチを実際に得ることについてです。私の例に戻る。 「リンゴ」とは「消費財」や「食料品」とは異なる意味です。私は両方のセグメントを持っているので、結果はそのような要求のために不器用になります。あなたは正しくメンテナンス債務を指摘しました。 – prasannaJosium
ok、私が書いたことはまだ適用されていると思います。すべてのドキュメントに必要なコレクション名(たとえばcollection = consumer_goods)を「タグ」し、コレクション制約をクエリに追加します(例:&fq = collection:consumer_goods) –