Requête + caractères spéciaux

734 views
Skip to first unread message

Fadel

unread,
Jan 22, 2013, 11:27:12 AM1/22/13
to elastics...@googlegroups.com
Bonjour

lorsque j’exécute une requête ( QueryString ou autres ) avec quelque caractères spéciaux j'ai le bug suivant : 

errorSearchPhaseExecutionException[Failed to execute phase [query], total failure; shardFailures {[5_4f29mhQ1adSWOzgMUaJA][magento][3]: RemoteTransportException[[gaia-pre-prod-node137][inet[/172.16.2.137:9300]][search/phase/query]]; nested: SearchParseException[[magento][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query":{"bool":{"must":[{"match_all":{}},{"query_string":{"default_field":"_all","query":"papa ^"}}] ......

Exemple de requêtes :  

papa !  
papa
papa ^

je pense q'elasticsearch ignore ces caractères non ?

Merci d'avance,


Florian Espla

unread,
Jan 22, 2013, 11:34:24 AM1/22/13
to elastics...@googlegroups.com
Bonjour,

Je peux répondre partiellement pour deux des caractères "^" et "-".

Il me semble que dans une query_string ^ est utilisé pour affecter un boost, ex papa^3
Pour le tiret, il te permet de dire que tu ne veux par le terme qui le suit. Ex: "-papa" recherche tous les documents qui ne contiennent pas papa.

Je n'ai jamais utilisé le ! mais je suppose qu'il est réservé à une utilité particulière également.

Par contre je n'ai aucune idée de comment les escape.

--
---
Vous pouvez également poster et consulter les réponses en anglais sur le groupe Elasticsearch https://groups.google.com/group/elasticsearch
 
Si vous avez également posté votre question sur la mailing list elasti...@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
 
Twitter : @ElasticsearchFR https://twitter.com/#!/ElasticsearchFR
Site web (English) : http://www.elasticsearch.org/

David Pilato

unread,
Jan 22, 2013, 12:14:41 PM1/22/13
to elastics...@googlegroups.com

--
David Pilato
http://www.scrutmydocs.org/
http://dev.david.pilato.fr/
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Benoît

unread,
Jan 23, 2013, 3:55:12 AM1/23/13
to elastics...@googlegroups.com
Bonjour,


On Tuesday, January 22, 2013 5:27:12 PM UTC+1, Fadel wrote:

je pense q'elasticsearch ignore ces caractères non ?

 
L'analyzer par défault supprime tous les symboles donc même si tu utilise une autre query que QueryString, par exemple match_phrase, tu ne pourra pas trouver "papa !"

Si tu as besoin de rechercher des symboles il faut changer d'analyzer.

Benoît

Reply all
Reply to author
Forward
0 new messages