Autocompletion avec suggest

51 views
Skip to first unread message

Christophe Lefloch

unread,
May 20, 2013, 6:59:24 AM5/20/13
to elastics...@googlegroups.com, c.le...@kopernik.fr
Bonjour,

Voici ma requête : 
{
"suggest":
{
"text":"'.$mot.'",
"simple_phrase":
{
"phrase":
{
"analyzer":"standard",
"field":"mot_FR",
"size":10,
"real_word_error_likelihood":0.95,
"max_errors":0.5,
"gram_size":2,
"direct_generator":[{
"field":"mot_FR",
"suggest_mode":"always",
"min_word_len":1
}]
}
}
}
}

Ce que souhaite faire :
Mon autocompletion doit répondre à ces règles :

si je tape "tour" cela devrait me renvoyer "tour", "tour eiffel", "tour montparnasse",....
si je tape "eiffel" cela devrait me renvoyer "tour eiffel", "gustave eiffel",....
Pour les deux solutions je dois garder la tolérance orthographique.

Mais avec la requête ci-dessus : 
si je tape "tour" cela me retourne "tour" uniquement
si je tape "tour" cela me retourne "tour" et "tom" (ce qui n'est pas trop mal mais j'aimerais également "tour eiffel", "tour montparnasse",....
si je tape "eiffel" cela me retourne "eiffel" uniquement
si je tape "eiffe" cela me retourne "effet", "eiffel", "eifel" (j'aimerais plutôt eiffel en premier et la réponse "tour eiffel")

Je sèche depuis la semaine dernière là-dessus avez-vous une solution ?

En vous remerciant de votre aide.

Mourad Kashi

unread,
May 22, 2013, 11:33:00 AM5/22/13
to elastics...@googlegroups.com, c.le...@kopernik.fr
Plusieurs pistes si je me trompe pas ,


Définit un analyzer   nGram  look here ! http://www.elasticsearch.org/guide/reference/index-modules/analysis/ngram-tokenizer/ ( c'est ce que j'utilise pour les text pas trop long  comme prénom / nom / titre ... ou autres )  !
Explicite ton problème et envoie nous un mapping & analyzer si tu en utilises

Voili voulou :D!
Reply all
Reply to author
Forward
0 new messages