2011-03-10 60 views
5

我試圖用fq來篩選具有特殊字符的字段,尤其是括號。例如,鑑於文件:Solr過濾器中的特殊字符fq

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

我想要做的例如?fq:town_snc=Hartford (Connecticut)

我沒有得到任何結果;我認爲括號需要逃脫,但我無法找到逃避方法。

謝謝!

回答

13

使用「場」 qparser可以讓你不用做任何轉義:

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

或者你可以使用正常的Lucene的查詢分析器,並使用雙引號(但你仍必須逃避一些事情像行情)

fq=town_snc:"Hartford (Connecticut)" 

或者你可以使用反斜槓太(只記得也逃脫的空間)。

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