Recherche full-text Mysql et fautes d'orthographes

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

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 occasionnel
WRInaute occasionnel
 
Messages: 184
Inscription: Ven Jan 05, 2007 18:52

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: 10468
Inscription: Dim Juil 10, 2005 12:39

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 impliqué
WRInaute impliqué
 
Messages: 392
Inscription: Dim Avr 06, 2003 21:44

Message le Mar Avr 24, 2007 17:33

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

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

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 accro
WRInaute accro
 
Messages: 1792
Inscription: Mer Nov 03, 2004 10:50

Message le Mar Avr 24, 2007 19:31

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


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12208
Inscription: Dim Aoû 08, 2004 20:24

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 passionné
WRInaute passionné
 
Messages: 865
Inscription: Mar Aoû 05, 2003 14:49

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: 436
Inscription: Lun Juin 16, 2003 13:18

Message le Mar Avr 24, 2007 21:47

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

Popop56
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 184
Inscription: Ven Jan 05, 2007 18:52

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: 10468
Inscription: Dim Juil 10, 2005 12:39

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 impliqué
WRInaute impliqué
 
Messages: 392
Inscription: Dim Avr 06, 2003 21:44

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: 7562
Inscription: Mar Mar 01, 2005 2:44

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


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 Julien Coquet, expert certifié officiellement par Google Analytics.

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 0 invités