我有facet块,看起来像:
Categories:
[ ] Category 1
[ ] Category 2
[ ] Category 3
[ ] Category 4
使用ss_category字段(单字符串字段)表示类别。选择某个类别后,所有其他类别都会消失,这会使该块看起来像:
Categories:
[X] Category 3
即使存在活动类别,我也需要显示所有其他类别,以便用户不必先取消激活活动类别,然后再单击另一个类别。换句话说,该块应如下所示:
Categories:
[ ] Category 1
[ ] Category 2
[X] Category 3
[ ] Category 4
我该如何实现这种行为?
感谢。
答案 0 :(得分:0)
见the example in LocalParams for faceting。这样您就可以标记fq
,然后在创建构面时排除该过滤器。
该示例显示了文件结尾的完全相同的问题:
Q = mainquery&安培; FQ =状态:公共&安培; FQ = DOCTYPE {标签= DT!}:{!EX = DT} PDF&安培;小面=真安培facet.field = DOCTYPE
答案 1 :(得分:0)
我不知道您使用什么类型的客户端来查询Solr,但如果查询创建对您来说不是完全透明的,那么它就是一个过滤查询和相关的facet字段。
为了清楚起见,当您添加过滤器查询时,它也会影响构面创建。您要做的是从构面创建中排除过滤器查询。您可以在创建查询期间使用2步语法执行此操作。
在过滤器查询中添加标签,在您的示例中您必须更改
fq=Categories:"Category 3"
=> fq={!tag=categoryTag}Categories:"Category 3"
然后您可以从构面生成中排除过滤器查询,因此请更改
facet.field=Categories
=> facet.field={!ex=categoryTag}Categories