Solr fl默认参数和fl请求参数连接

时间:2014-08-17 15:29:49

标签: solr

问题是关于返回字段。

如果我有一组字段,在xml中的某些RequestHandler配置的fl中指定,则在查询中指定的fl将覆盖在xml中的RequestHandler配置中指定的fl。有没有办法强制solr在两个fl值之间进行OR(不覆盖,但是连接):来自查询和xml中的RequestHandler配置?

例如,如果在查询中我有fl = field1,field2并且在RequestHandler xml配置中我有fl = field3,则field1然后这两个的连接将是fl = field1,field2,field3,这就是将要运行的最终查询。

我想使用RequestHandler配置xml中指定的fl值,因为它们太多(~20)并且我不想在每个请求中全部指定它们。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在<lst name="appends">定义中使用requestHandler使Solr将值附加到查询中,而不是替换它们。由于fl可以多次添加到同一个请求,因此您可以扩展要检索的字段列表。

<requestHandler name="/select" class="solr.SearchHandler">
    <lst name="appends">
        <str name="fl">cat</str>
    </lst>
</requestHandler>

除非客户提供字段列表,否则只会返回cat。如果它包含fl参数,则它们都将处于活动状态。