2017-03-15 5 views
0

多値フィールドを持つSolrドキュメントを持っており、そこから異なる値が必要です。私は別のフィールドでフィルタリングする必要がありますが、私の結果は別のカテゴリ以外のものを含める必要はありません。Solr多値フィールド上で区別する

ドキュメント:

{CountryCode: 'US', Product:'A', Categories:[1,2,3]}, 
{CountryCode: 'US', Product:'B', Categories:[1,3,77,88]}, 
{CountryCode: 'JP', Product:'B', Categories:[1,2]} 
{CountryCode: 'JP', Product:'B', Categories:[444,555]} 

フィルターのみのCountryCode = '米国の

結果について:

{[1,2,3,77,88]} 

私はフィールド崩壊/グループ化しようとしたが、それはマルチでは動作しません。値のフィールド。

私は(Persimmoniumによる提案のおかげで)用語を試しましたが、 'US'カテゴリのみをフィルタリングしたくありませんでした。期間が何回カテゴリーが発生したかという事実は、ボーナスですが、この場合は必須ではありません。

提案がありますか?

答えて

1

コメントの後に編集されます。これを達成するための

一つの方法はである:すべての値を取得するのに十分に高い「制限」を設定、あなたはカテゴリー上、その後のファセット

  • に興味のあるドキュメントのセットを取得する

    • FQ

    好きな方はStreaming Expressionsを使用している可能性があります。しかし、ファセッティングは単純です。

  • +0

    ありがとうございました。それと一緒に遊んだ。最初に別のフィールドでドキュメントをフィルタリングしようとしましたが、サポートされていないように見えます。例えば各文書にもcountryCodeがあり、そのうちのどれか1つだけが必要です。 – zeeqzaq

    +0

    :1. fqでいくつかのドキュメントを取得します。2.次に、ドキュメントのフィールドの一意の値をすべて返します。それは別の話です...私は時間があると思うでしょう – Persimmonium

    +0

    - 私は私の元の投稿に詳細を追加します – zeeqzaq