0

我需要过滤器查询来满足单独字段上的两个不同条件。

我尝试了以下但没有奏效

fq="颜色:红色和类型:书"

fq="+color:red +type:book"

我不能使用两个不同的 fq,因为这是我使用的 SOLRPHP 库设置的限制,它请求 $param["fq"] 作为单个参数。因此我需要将一个查询传递给这个函数。

我是 Solr 的新手,所以请不要介意我遗漏了一些明显的东西。

4

2 回答 2

2

尝试fq:(color:red AND type:book)fq:(+color:red +type:book)。通过在条件周围使用引号,您是在告诉 Solr 执行短语查询,因此它无法识别短语中的字段名称。

于 2013-02-06T17:15:35.677 回答
1

您可能会遇到有关 SolrPHP API 的问题。

以 SolrJ 为例,像这样传递 fq 是有益的 query.set("fq", "fieldName:" + "\"" + fieldValue + "\""); 请注意查询值周围的转义引号。

您可能想查看 wiki 或在 Solr PHP 讨论组https://groups.google.com/forum/?fromgroups#!forum/php-solr-client中提问

于 2013-02-06T19:31:04.573 回答