4

ファセットに問題があります。この状況を想像してみてください。製品は複数のカテゴリに分類できます。これはファセットの一般的な動作です。

カテゴリー

  • Android(25)
  • iPhone(55)
  • その他(25)

「Android」を選択すると、「fq」=>「category:Android」で新しいクエリを作成すると、次のようになります。

カテゴリー

  • アンドロイド
  • iPhone(15)
  • その他(2)

ただし、これは、「Android」と「iPhone」のカテゴリに分類される15の製品があることを意味します。私はこのようなものが欲しいです:(「Android」または「iPhone」)

カテゴリー

  • アンドロイド
  • iPhone(+5)
  • その他(+1)

つまり、「Android(25)」を選択すると25件、「iPhone(+5)」を選択すると5件になるので、最終的には30件の検索結果が得られます。

これがSOLRのファセットで可能かどうか誰かが知っていますか?または、複数のクエリを使用して手動で計算しますか?

アドバイスをありがとう!

4

2 に答える 2

3

必要なすべての順列に応じて、任意のクエリのカウントを取得できるクエリファセットを調べることをお勧めします。たとえば、をfacet.query=category:("Android" OR "iPhone")キーにしたカウント結果を取得できますcategory:("Android" OR "iPhone")。また、カウントしたい任意の数のクエリに対してこれを行うことができます。したがって、あなたの場合、ストレートフィールドファセットとクエリファセットのいくつかの組み合わせで最終的な解決策にたどり着くことができます。

編集:質問を読み直して、ユーザーが選択肢を「選択」できるようにする方法によっては、タグ付けと余分な部分の除外を検討することもできます。fq(ドキュメントの例は元の設定にかなり近いですが、最終的な動作が希望どおりかどうかはわかりません)。

于 2011-11-30T16:37:41.510 に答える
3

次のように、選択のネガティブを使用して新しいクエリを試してください"fq" => "-category:Android"。次に、探しているファセットカウントを取得する必要があります。

于 2011-11-30T16:49:38.103 に答える