在solr响应的过滤器查询中传递逗号分隔值

时间:2011-03-14 08:49:22

标签: facet solr

我想在solr响应的过滤器查询(fq)中传递逗号分隔值,目前当我想传递多个类别时我使用OR运算符。 像这样fq = categoryId:3 OR categoryId:55 OR categoryId:34

有没有传递fq = categoryId:3,55,34

等值的解决方案

2 个答案:

答案 0 :(得分:21)

如果默认运算符为OR,则

fq=categoryId:(3 55 34)应该有效。否则,试试fq=categoryId:(3 OR 55 OR 34)。这在Lucene查询语法中称为Field Grouping。 (Solr支持完整的Lucene语法,如文档here所述。)

答案 1 :(得分:0)

如果您的过滤器查询字段是文本或字符串类型,您也可以使用fq = categoryId:(IN 3 55 34 44)。但是IN运算符不适用于整数文件或其他字符串/文本字段。