我正在尝试使用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)
我没有得到任何结果;我认为括号需要转义,但我无法找到转义方法。
谢谢!
答案 0 :(得分:13)
使用“field”qparser可以让你不必进行任何转义:
fq={!field f=town_snc}Hartford (Connecticut)
或者您可以使用普通的lucene查询解析器并使用双引号(但是您仍然必须转义某些内容,如引号)
fq=town_snc:"Hartford (Connecticut)"
或者你也可以使用反斜杠转义(只记得也逃避空间)。