2016-09-20 4 views
0

ファセットに除外とタグを使用しています。奇妙なことに、これは私が価値のある空間を持たないところで機能します。Solrファセットタグの除外がスペースで機能しない

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に動作します - これは、これら2つの間の唯一の違いは{!tag=stateName}stateName="Andhra Pradesh"スペースありません

ん({!tag=stateName}stateName="AndhraPradesh" - これは動作します)。

なぜか分かりません。 URLをエンコードしようとしました。つまり、空きスペースはまだありません。+または%20同じenter image description here

作業用

PFAの画像はここでenter image description here

EDIT

をコピーstateNameフィールドの定義です。

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

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

+0

2番目の画像にエラーが発生しましたか? "Can not parse ..."と表示されているのは、クエリでエスケープされていない特殊文字があるようです。 btw%27はスペースではありません。%20はスペースです。 – Zac

+0

これは完全な画像です。 – Akshay

+0

そして、はい、私は%20で試しました。それは質問を入力する間にタイプミスです。私は質問を編集しました – Akshay

答えて

0

問題は、クエリ内のlocal parametersは、文字列の先頭でなければならないということである。

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

なく

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

あなたはまた、括弧を避けることができます:

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

答えを理解できませんでしたが、これら3つのうちのどれがうまくいくのでしょうか?括弧は問題ですか? – Akshay

+0

はい、ローカルパラメータ( '{!'と '}'の間にあるものすべて)はかっこの外側にあるべきです – Zac

関連する問題