lucene SOLR:如何全局排除字段?

axr492tv  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(80)

我使用apache Solr为我的网站搜索。和网站有大量的网页和每一页有一个字段称为'searchEnabled'。这是一个布尔字段包含值。我想从所有的搜索结果中排除禁用的网页(该网站有不同的搜索数量),如果searchEnabled字段设置为
我可以使用筛选查询(fq)来排除此字段。但是我的网站使用了许多不同查询的不同搜索。我不想在整个网站的所有搜索查询中添加筛选查询。有没有简单的方法来禁用字段“searchEnabled”设置为false的索引?
因此,任何solr搜索都不会返回字段值设置为false的文档/页面。

1szpjjfi

1szpjjfi1#

您可以为the request handler you're making your request against添加一个始终存在于solrconfig.xml中的参数。
通过为参数列表使用名称appends,该参数将 * 始终 * 附加到其他给定参数。

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

这将始终在后台向您的请求添加一个过滤器查询,将结果集限制为那些将searchEnabled设置为true的文档。

相关问题