在 Solr 服务器上存储过滤器定义

Storing filter definition on Solr server

我遇到这样一种情况,我的所有查询都有一些子过滤器查询,这些查询每次都添加并且很长。
查询过滤器每次都是相同的,因此将它们一遍又一遍地发送到 Solr 服务器并在另一端解析它们只是为了在缓存中找到它们是浪费时间。
有没有一种方法可以将过滤器查询定义一次发送到 Solr 服务器,然后在后续查询中引用它?

您可以在 solr 配置中添加静态配置指令 (solrconfig.xml):

<requestHandler name="/select" class="solr.SearchHandler">
    <lst name="appends">
        <str name="fq">foo:value</str>
    </lst>
</requestHandler>

.. 这将始终在 SearchHandler 接收查询之前将 fq= 术语附加到查询字符串。其他选项是 invariantsdefaults。有关详细信息,请参阅社区 Wiki 上的 Request Handlers and Search Handlers