2011-03-10 19 views
5

Estoy tratando de filtrar con fq para campos que tienen caracteres especiales, particularmente paréntesis. Por ejemplo, dado el documento:Caracteres especiales en el filtro Solr fq

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

Deseo hacer, p. ?fq:town_snc=Hartford (Connecticut)

No obtengo ningún resultado; Supongo que deben escaparse los paréntesis, pero no pude encontrar el método de escape.

¡Gracias!

Respuesta

13

Utilizando el qparser "campo" le permite no tiene que hacer ningún escape:

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

O puede usar la normalidad analizador de consultas de Lucene y utilizar comillas dobles (pero entonces todavía debe escapar algunas cosas como comillas)

fq=town_snc:"Hartford (Connecticut)" 

O podría usar la barra invertida para escaparse también (solo recuerde también escaparse del espacio).

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