2

Solrの複数値フィールドの返されるテキストを制限またはフィルタリングする方法はありますか?Solrで次のドキュメント構造が与えられた場合:

...
<doc>
    <str name="title">example</str>
    <arr name="foo">
        <str>bar1</str>
        <str>bar2</str>
        <str>bar3</str>
        <str>bar4</str>
        <str>bar5</str>
        <str>bar6</str>
    </arr>
</doc>
...

FilterQueryリクエストに基づいて「foo」値の1つだけを表示するように応答を制限したいと思います。したがって、たとえば、クエリは次のようになります。

select/?q=example&fq=foo:bar2`

私は次の応答が欲しいです:

...
<doc>
    <str name="title">example</str>
    <arr name="foo">
        <str>bar2</str>
    </arr>
</doc>
...
4

3 に答える 3

2

いいえ。応答とともに返される複数値の値をフィルタリングする方法はありません。
ただし、クライアント側で簡単に行うことができます。

ファセットを使用してリストを取得できる場合は、facet.prefixを使用して、ファセットとして返されるフィールドfooの値を制限できます。

于 2012-12-24T03:35:04.997 に答える
0

'foo'の値のサンプル空間がわかっている場合は、動的フィールドを使用してみましたか?例えば:

次に、bar_x:trueでフィルタリングします。多数の動的フィールドを使用することになります。

于 2015-01-06T11:23:05.890 に答える
-3

フィルタクエリが機能するはずです。以下のコードを試してください

&fq=+foo:"bar2"

于 2015-02-12T18:50:11.613 に答える