有没有办法限制或过滤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>
...
答案 0 :(得分:2)
不。无法过滤随响应返回的多值值 您可以在客户端轻松完成。
如果您可以使用Facet获取列表,则可以使用facet.prefix来限制返回为facet的字段foo的值。
答案 1 :(得分:0)
如果您知道“foo”的值的示例空间,您是否尝试使用动态字段?例如:
然后过滤bar_x:true。您最终会使用大量动态字段。
答案 2 :(得分:-3)
filter query应该可以使用,请尝试下面的代码
&fq=+foo:"bar2"