Recherche full-text Mysql et fautes d'orthographes

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

theJB
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 411
Inscription: 7 Avr 2006

Recherche full-text Mysql et fautes d'orthographes

Message le Mar Avr 24, 2007 13:11

Est-ce qu'il exite un truc tout fait dans msyql pour chercher un mot dans une db en prenant en compte les fautes d'orthographes?

par exemple dans une db contenant les villes de France, une recherche qui sur le mot "Parris" trouverai toute seule "Paris".

Popop56
WRInaute discret
WRInaute discret
 
Messages: 186
Inscription: 5 Jan 2007

Message le Mar Avr 24, 2007 14:06

Perso j'ai fais un script qui gère les fautes d'orthographe mais c'est pas évident.
De plus j'utilise un simple LIKE pour ma recherche

Voici son fonctionnement avec ton exemple:
-je fais une première recherche avec le mot "Paaris"
-pour chaque resultat je calcul la différence entre les 2 variables
-Si un correspond à 100% parfait
-Si aucun résultat ou ressemblance inférieur à par ex 50% je compare chaque entrée de la table avec mon mot clé et je sors celui qui a la plus forte ressemblance.

Voila en gros comment je procède après on peut améliorer pas mal de truc. Je pense que tu peux appliquer ce principe pour la recherche FULL TEXT


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Message le Mar Avr 24, 2007 17:31

question bete... en full text y'a pas un pb pour les recherches où le mot fait 3 caractères ou moins ?


nalrem
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 401
Inscription: 6 Avr 2003

Message le Mar Avr 24, 2007 17:33

Cherche peut-être du côté du soundex, ça peut être une piste.

theJB
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 411
Inscription: 7 Avr 2006

Message le Mar Avr 24, 2007 19:27

oué ya aussi LIKE mais je pensais pouvoir etre paresseux sur ce coup, mais apparement c raté..


Mumuri
WRInaute passionné
WRInaute passionné
 
Messages: 1800
Inscription: 3 Nov 2004

Message le Mar Avr 24, 2007 19:31

+1 pour soundex, c'est ce qu'il te faut


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Message le Mar Avr 24, 2007 19:38

Mumuri a écrit:+1 pour soundex, c'est ce qu'il te faut
j'avais fait quelques essais et ce n'était pas trop top au niveau des retours


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Mar Avr 24, 2007 21:23

finstreet a écrit:question bete... en full text y'a pas un pb pour les recherches où le mot fait 3 caractères ou moins ?

par défaut il est à 4 caractères, ça se configure dans le my.cnf comme ceci si l'on peut :
Code: Tout sélectionner
ft_min_word_len         = 3

mx
WRInaute impliqué
WRInaute impliqué
 
Messages: 688
Inscription: 16 Juin 2003

Message le Mar Avr 24, 2007 21:47

c'est du costaud les fautes d'ortographe ...

Popop56
WRInaute discret
WRInaute discret
 
Messages: 186
Inscription: 5 Jan 2007

Message le Mar Avr 24, 2007 22:14

soundex j'ai pas trouvé cela terrible... Ca marche pas trop mal en anglais mais avec des mots francais c'est pas trop ça...


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Message le Mar Avr 24, 2007 23:56

julienr a écrit:
finstreet a écrit:question bete... en full text y'a pas un pb pour les recherches où le mot fait 3 caractères ou moins ?

par défaut il est à 4 caractères, ça se configure dans le my.cnf comme ceci si l'on peut :
Code: Tout sélectionner
ft_min_word_len         = 3


Alors ca c très très sympa

Merci :)


nalrem
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 401
Inscription: 6 Avr 2003

Message le Mar Avr 24, 2007 23:57

Il existe un algo soundex propre au français. J'avais croisé ça sur le net il y a quelques mois (années ?).


Zecat
WRInaute accro
WRInaute accro
 
Messages: 12003
Inscription: 1 Mar 2005

Message le Mer Avr 25, 2007 0:16

Se coder une recherche phonétique n'est pas monstrueux ... j'avais fait ca il y a quelques années . C'ets juste une histoire de remplacement de chaine de type

ai en e
ou en u
y en i
au en o
eau en o
que final en c
qu en c
th en t
dedoublonnage de rr en r tt en t ss en s
Simplification des double consonnes
Suppression des consonnes en derniere lettre

(bon c'est de mémoire tout ca ... y a tioute une serie a faire et dans le bon ordre)

etc etc

Bref toute une series de manip pour transformer un mot en son expression phonetique. Une fois cette routine au point, tu l'appliques a tous tes textes et quand on fait une recherche on recherche le mot phonétisé dans les texte phonetisés ...

Bon y a un peu d'huile de coude pour optimiser mais rien de monstrueux.

Appliqué au cas que tu décris :

Paris --> pari
Parriss --> pari

ou encore :

Bateau --> bato
batteau --> bato
bateaus --> bato
battau -- > bato
barque -> bato (heu non je déconne :D). barque devient barc


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité