5

我正在使用 Solr 进行搜索,最近开始使用 faceting 来允许用户缩小搜索范围。但是,一旦用户按其中一个方面进行过滤,则其他过滤器选项将不再在方面结果中返回。这是意料之中的,但不是我想要的。

是否有某种方法可以返回未过滤查询的方面字段和计数,而无需进行额外搜索?例如,如果用户按类别过滤(通过选择特定类别),我希望他们仍然能够选择其他类别之一,而无需先明确删除过滤器。(也就是说,Solr 仍应返回所有类别及其计数,以便我可以将它们与过滤后的查询集一起包含在页面上。)

我怀疑这可能是不可能的。如果不是,我可以在每次搜索时做一个额外的查询,这将省略过滤器(并返回 0 行),如上一个 StackOverflow 问题中所述。但我想我会问:有没有人知道没有多次查询的方法?

4

2 回答 2

8

这称为多选分面,可以在分面时使用特定的 LocalParams 排除过滤器。有关详细信息,请参阅“标记和排除过滤器”

于 2010-06-05T18:01:06.297 回答
0

这是一个 SO 答案,也解释了这一点,但提供了一个示例:

SolrNet:过滤查询时保持 Facet 计数

这是一个新的 SOLR 文档 URL,因为来自这个和链接的 SO 答案的 URL 现在都已过时:

https://solr.apache.org/guide/8_11/faceting.html#tagging-and- exclude-filters

于 2021-12-04T09:03:53.283 回答