8

我正在尝试为 Solr 搜索Tagging_and_ exclude_Filters应用过滤器标记。

挑战是同时应用多个标记(对于单个页面上的多个选择选项)。例如

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&fq={!tag=doc}document:1&facet=on&facet.field={!ex=dt}doctype&facet.field={!ex=doc}document

但是由于某种原因,排除仅适用于一个过滤器,而其他过滤器则未被注意到。我的语法有问题吗?任何人都可以提出更好的方法吗?

4

3 回答 3

7

我有一个类似的问题要解决,它似乎只需使用逗号分隔排除的标签即可:

来自:http ://wiki.apache.org/solr/SimpleFacetParameters#facet.field

所有类型的构面都支持过滤器排除。tag 和 ex local 参数都可以通过逗号分隔来指定多个值。

所以我猜你会像这样使用它:{!ex=doc,dt}

于 2014-02-21T11:00:15.397 回答
2

这个答案可能不及时,但我认为这应该可以解决您的问题。

尝试在两个 ex 子句中添加两个标签。我这样做了,它对我来说适用于类似的情况。

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&fq={!tag=doc}document:1&facet=on&facet.field={!ex=dt,doc}doctype&facet.field={!ex=dt,doc}document
于 2014-02-12T08:38:31.473 回答
1

可能http://wiki.apache.org/solr/SimpleFacetParameters#Multi-Select_Faceting_and_LocalParams部分会比你提到的更进一步帮助你。

此致!

于 2012-01-23T09:19:48.537 回答