Page 1 sur 1

[fait] Recherche avec mots multiples: tolérance de syntaxe

Posté : 29 févr. 2016, 23:36
par Bryce
Hello,

J'ai remarqué en faisant des recherches sur certains noms de lieux que le moteur tient compte des caractères accentués (c'est bien) mais il est trop strict au niveau des caractères séparateurs comme le "-".

Exemples avec le refuge non gardé de Pré-Large en Chartreuse:
recherche "pre-large" => 1 résultat (ok, nom sans accent)
recherche "pré-large" => 1 résultat (ok, nom exact renseigné dans la base)
recherche "pré_large" => 1 résultat (ok, mais peu utile car peu de gens vont saisir ce caractère)
recherche "pré large" => 0 résultat (plus gênant pour ceux qui ne connaissent pas le nom exact)

Ce serait possible d'améliorer ce point ?

a+
Bryce

Posté : 01 mars 2016, 11:52
par sly
Salut bryce,

Je suis entièrement d'accord avec toi, et j'y pense depuis pas mal de temps, mais n'est pas google qui veut !

La recherche approchante est un thème assez délicat mais il est vrai qu'a défaut du système génial qui trouve "Alpete" pour "alpette" je pourrais déjà tenter une petite amélioration pour ignorer les tirets.

Bref, excellente idée, mais pas simple à réaliser

Posté : 12 juin 2016, 00:25
par sly
Bon, j'ai cherché et il y'a pas mal de choses à faire mais c'est très compliqué avec notre moteur de base de données.

J'ai donc fait un truc vite fait qui gère les - mais si on cherche :
"large pré"
ou
"le pré large"

sans parler des fautes d'ortographe ou autre truc plus sioux, ça ne sort pas à la recherche.

Posté : 14 juin 2016, 19:32
par Bryce
salut Sly,

merci pour la modif, ça marche bien !

J'ai aussi testé avec celui-ci: Refuge Le Pré-à-la-Dame (Jura):
pré dame => OK
pré la dame => OK
pré a la dame => OK

Pour moi c'est suffisant de traiter le cas du caractère "-" qui est le plus fréquent dans les noms utilisant autre chose que des lettres, accentuées ou non.

Evidemment, si on saisit un mot à la place d'un autre ça ne marche plus:
pré de la dame => 0 résultat

Mais je pense que ce n'est pas limitant et évite de complexifier le moteur de recherche inutilement.
Dans ce cas précis, c'est plutôt le nom du refuge qui est incorrect, mais les développeurs n'y sont pour rien :)