2011-03-10 22 views
5

Özellikle parantezler olmak üzere özel karakterleri olan alanlar için fq filtrelemeye çalışıyorum. Örneğin, verilen belge:Solr filtresindeki özel karakterler fq

<result name="response" numFound="1" start="0"> 
    <doc> 
    <arr name="town_snc"> 
     <str>Hartford (Connecticut)</str> 
    </arr> 
    </doc> 
</result> 

Örn. ?fq:town_snc=Hartford (Connecticut)

Sonuç alamıyorum; Parantezlerin kaçması gerektiğini varsayardım, ancak kaçan yöntemi bulamadım.

Teşekkür ederiz!

fq={!field f=town_snc}Hartford (Connecticut) 

Yoksa normal bir lucene sorgu ayrıştırıcı kullanmak ve çift tırnak (kullanmak ama sonra yine benzeri bazı şeyler kaçmak olmalıdır da: "alanı" qparser kullanma

cevap

13

herhangi kaçışa yapmak zorunda değilsiniz sağlar tırnak)

fq=town_snc:"Hartford (Connecticut)" 

Yoksa (sadece) da yer kaçmayı unutmayın ters eğik çizgi de kaçan kullanabilirsiniz.

http://wiki.apache.org/solr/SolrQuerySyntax