対応するAPIにsolr4.4.0とrsolrgemを使用しています。
バックグラウンド
データベースには、指輪、イヤリング、ネックレスなど、いくつかの分類法があります。
私のデータベースには、分厚い、モダンなどのコレクションがたくさんあります。
各分類には、タイプと呼ばれるいくつかのサブカテゴリがあります
入力: 2つの入力を受け取るクエリを記述したい:1。分類法2.コレクション
必要な出力:事前定義された一連のルールがあり、分類、コレクション、および必要な復元のタイプがわかります。
次のルールを検討してください。
If Anklets (Chunky)
Then
Necklaces (Chunky) (Beaded)
Earrings (Chunky) (Danglers)
Pendants (Chunky) (With chain)
Bracelets (Chunky) (Beaded)
ここで、入力分類はでanklets
あり、入力コレクションはchunky
です。そして、then条件内の各ステートメントに対応する6つの結果が必要です。だから、私の結果は分厚いコレクションの下にある6つのビーズのネックレスを持っているはずです。分厚いコレクションの下にある6つのダングラーピアスなど.....
問題: qとfqを指定して、各ステートメントの結果を取得できます。ただし、各ステートメントに対応する個別のリクエストを送信する必要があり、合計4つのリクエストを作成します。単一のリクエストでこれを実行できるようにクエリを作成することは可能ですか?
ありがとう
これは、実際にはgroup
solrが提供する結果機能を使用して実行できます。
最初のステップは、ブール演算子を使用してクエリを組み合わせてfqを生成することです。
fq => "(product_taxonomy_name:Necklaces AND product_collection_value:Chunky AND product_type_value:Beaded)
OR (product_taxonomy_name:Earrings AND product_collection_value:Chunky AND product_type_value:Danglers)
OR (...)
OR (...)"
クエリで次の追加パラメータを渡します。
group => true, group.field => product_taxonomy_name, group.limit => 6
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加