Solr facet标记排除不适用于空间

时间:2016-09-20 12:29:22

标签: solr faceted-search

我正在使用排除和标记进行分面。奇怪的是,它在我没有价值空间的情况下起作用。

http://192.168.2.114:8983/solr/customer/select?indent=on&q=*:*&fq=(%7B!tag%3DstateName%7DstateName:%22Gujarat%22)&fq=(%7B!tag%3DstateName%7DstateName:%22AndhraPradesh%22)&facet=true&facet.limit=100&facet.mincount=0&facet.field=%7B!ex%3DstateName%7DcountryName&facet.field=%7B!ex%3DstateName%7DstateName&facet.field=%7B!ex%3DstateName%7Dicity&facet=true - 这可行

http://192.168.2.114:8983/solr/customer/select?indent=on&q=*:*&fq=(%7B!tag%3DstateName%7DstateName:%22Gujarat%22)&fq=(%7B!tag%3DstateName%7DstateName:%22Andhra Pradesh%22)&facet=true&facet.limit=100&facet.mincount=0&facet.field=%7B!ex%3DstateName%7DcountryName&facet.field=%7B!ex%3DstateName%7DstateName&facet.field=%7B!ex%3DstateName%7Dicity&facet=true - 这不是

这两者之间的唯一区别是{!tag=stateName}stateName="Andhra Pradesh"中的空格{!tag=stateName}stateName="AndhraPradesh" - 这有效)。

我不明白为什么。我已尝试对网址进行编码,即将 + %20 用于空间,但仍然没有运气。

相同enter image description here

的PFA图片

工作副本enter image description here

修改

以下是stateName字段的定义。

<field name="stateName" type="string" multiValued="false" indexed="true" stored="true"/>

<fieldType name="string" class="solr.StrField" sortMissingLast="true"/>

1 个答案:

答案 0 :(得分:0)

问题是查询中的local parameters必须位于字符串的开头:

{!tag=stateName}(stateName:"Andhra Pradesh")

而不是

({!tag=stateName}stateName:"Andhra Pradesh")

您还可以避免使用括号:

{!tag=stateName}stateName:"Andhra Pradesh"