Solr多个过滤器标记/排除

时间:2012-01-23 08:29:11

标签: solr tagging facet

我正在尝试为Solr搜索Tagging_and_excluding_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

但由于某些原因,排除仅适用于一个过滤器和其他过滤器的工作被忽视。我的语法有问题吗?谁能提出更好的方法?

3 个答案:

答案 0 :(得分:4)

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

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

  

所有类型的构面都支持过滤器排除。两个标签   和ex本地参数可以通过分离它们来指定多个值   用逗号。

所以我想你会像{!ex=doc,dt}

那样使用它

答案 1 :(得分: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

答案 2 :(得分:1)

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

祝你好运!