我的情况是我的所有查询都有一些子过滤器查询,这些查询每次都会添加并且非常长
查询过滤器每次都是相同的,因此浪费时间将它们一遍又一遍地发送到Solr服务器并在另一侧解析它们只是为了在缓存中找到它们。
有没有办法可以将过滤器查询定义一次发送到Solr服务器,然后在以下查询中引用它?
答案 0 :(得分:2)
您可以在solr配置中添加静态配置指令(solrconfig.xml
):
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="appends">
<str name="fq">foo:value</str>
</lst>
</requestHandler>
..这将始终在SearchHandler
收到查询之前将fq = term附加到查询字符串。其他选项包括invariants
或defaults
。有关详细信息,请参阅社区维基上的Request Handlers and Search Handlers。