问题是关于返回字段。
如果我有一组字段,在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)并且我不想在每个请求中全部指定它们。
谢谢!
答案 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
参数,则它们都将处于活动状态。