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>
...

我想根据过滤查询请求将响应限制为仅显示 1 个“foo”值。例如,查询:

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 获取列表,则可以使用facet.prefix来限制作为 facet 返回的字段 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 回答