Solr - fq多种语法

时间:2013-07-24 00:17:12

标签: solr sharding

我的查询无效。

我有两个具有相同字段的目录,我正在过滤其中两个,字段COUNTRY和字段CATEGORY,我只想要COUNTRY等于“ar”的结果,CATEGORY以“/ Life和Style”开头“或者以”/ vidayestilo“开头

示例:http://dominio.com:8080/solr/collation1/select?q=casa&shards=dominio.com:8080/solr/collation1,dominio.com:8080/solr/collation2&fq=COUNTRY:ar&fq=CATEGORY:(\/Life Y Style* OR \/vidayestilo*)

上述请求不会返回任何结果。

如果我更改过滤器:&fq=COUNTRY:ar&fq=CATEGORY:"\/Life And Style"*。 返回6065结果。如果我使用引号"\/Life And Style"*

,则仅返回结果

如果我更改过滤条件:&fq=COUNTRY:ar&fq=CATEGORY:\/vidayestilo* 返回1451结果。无需使用引号\/vidayestilo*

结论1:当有空格时我必须使用引号,所以我根据这个理论做了以下请求:

http://dominio.com:8080/solr/collation1/select?q=casa&shards=dominio.com:8080/solr/collation1,dominio.com:8080/solr/collation2&fq=COUNTRY:ar&fq=CATEGORY:("\/Life Y Style"* OR \/vidayestilo*)

它不起作用,因为它返回6065,只返回"\/Life And Style"*的结果。即使我在"\/vidayestilo"*添加引号,我也会得到相同的结果。

当我放在首位时“/ vidayestilo”*:&fq=CATEGORY:("\/vidayestilo"* OR "\/Life And Style"*)会返回1451结果。

正确的是返回7516结果(1451 + 6065),我不知道这是否是由Life Y Style之间的空格发生的,因为在这种情况下我必须使用引号但是当我在括号中使用它时它不起作用与OR。

我很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

我发现这篇有趣的帖子帮助我解决了我的问题;) Solr wildcard query with whitespace