限制/过滤Solr中的多值字段

时间:2012-12-24 00:01:19

标签: solr filter multivalue

有没有办法限制或过滤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>
...

我想将响应限制为仅根据Filter Query请求显示“foo”值中的1。例如,查询:

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

我想要回复:

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

3 个答案:

答案 0 :(得分:2)

不。无法过滤随响应返回的多值值 您可以在客户端轻松完成。

如果您可以使用Facet获取列表,则可以使用facet.prefix来限制返回为facet的字段foo的值。

答案 1 :(得分:0)

如果您知道“foo”的值的示例空间,您是否尝试使用动态字段?例如:

然后过滤bar_x:true。您最终会使用大量动态字段。

答案 2 :(得分:-3)

filter query应该可以使用,请尝试下面的代码

&fq=+foo:"bar2"