在 solr 响应的过滤器查询中传递逗号分隔值
Posted
技术标签:
【中文标题】在 solr 响应的过滤器查询中传递逗号分隔值【英文标题】:passing comma separated values in filter query of solr response 【发布时间】:2011-07-14 20:44:17 【问题描述】:我想在 solr 响应的过滤查询 (fq) 中传递逗号分隔值,目前当我想传递多个类别时,我使用 OR 运算符。 像这样 fq=categoryId:3 OR categoryId:55 OR categoryId:34
有没有办法传递像 fq=categoryId:3,55,34 这样的值
【问题讨论】:
【参考方案1】:如果您的过滤查询字段是文本或字符串类型,您也可以使用 fq=categoryId:(IN 3 55 34 44)。但 IN 运算符不适用于整数字段或其他字符串/文本字段。
【讨论】:
【参考方案2】:fq=categoryId:(3 55 34)
如果您的默认运算符是 OR 应该可以工作。否则,请尝试fq=categoryId:(3 OR 55 OR 34)
。这在 Lucene 查询语法中称为 Field Grouping。 (Solr 支持完整的 Lucene 语法,如文档中的 here。)
【讨论】:
以上是关于在 solr 响应的过滤器查询中传递逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章