我正在使用Solr进行搜索,最近开始使用faceting来允许用户缩小搜索范围。但是,一旦用户按其中一个facet进行过滤,其他过滤器选项将不再返回到facet结果中。这是预期的,但不是我所希望的。
是否有某种方法可以返回未筛选查询的facet字段和计数,而无需执行额外的搜索?(通过选择特定类别),我希望他们仍然能够选择其他类别之一,而不必首先显式删除筛选器。(也就是说,Solr应该仍然返回所有类别及其计数,以便我可以将它们与过滤的查询集沿着包含在页面中。)
我怀疑这可能是不可能的。如果不可能,我可以在每次搜索时做一个额外的查询,这将省去过滤器(并返回0行),如a previous StackOverflow question中所述。但我想我应该问:有没有人知道一种不需要多个查询就可以完成这项工作的方法?
2条答案
按热度按时间xzabzqsa1#
这被称为多重选择面,并且可以使用特定的LocalParams在面时排除过滤器。有关详细信息,请参阅“标记和排除过滤器”。
yzckvree2#
这是一个SO回答,也解释了这一点,但提供了一个示例:
SolrNet : Keep Facet count when filtering query,
这里是一个新的SOLR文档URL,因为来自这个和链接的SO答案的URL现在都已经过时了:
https://solr.apache.org/guide/8_11/faceting.html#tagging-and-excluding-filters