【发布时间】:2011-07-14 20:44:17
【问题描述】:
我想在 solr 响应的过滤查询 (fq) 中传递逗号分隔值,目前当我想传递多个类别时,我使用 OR 运算符。 像这样 fq=categoryId:3 OR categoryId:55 OR categoryId:34
有没有办法传递像 fq=categoryId:3,55,34 这样的值
【问题讨论】:
我想在 solr 响应的过滤查询 (fq) 中传递逗号分隔值,目前当我想传递多个类别时,我使用 OR 运算符。 像这样 fq=categoryId:3 OR categoryId:55 OR categoryId:34
有没有办法传递像 fq=categoryId:3,55,34 这样的值
【问题讨论】:
如果您的过滤查询字段是文本或字符串类型,您也可以使用 fq=categoryId:(IN 3 55 34 44)。但 IN 运算符不适用于整数字段或其他字符串/文本字段。
【讨论】:
fq=categoryId:(3 55 34) 如果您的默认运算符是 OR 应该可以工作。否则,请尝试fq=categoryId:(3 OR 55 OR 34)。这在 Lucene 查询语法中称为 Field Grouping。 (Solr 支持完整的 Lucene 语法,如文档中的 here。)
【讨论】: