Soundex – recherche de mots ressemblants

Question : j’ai besoin d’utiliser la fonction SoundEx de SQL Server, malheureusement il utilise un algorithme anglais (même si ma base est en français)

Réponse :

Revenons un peu sur le Soundex. Le Soudex est une méthode qui permet de savoir si 2 mots sont ressemblants, phonétiquement parlant. Pour cela, on traite le mots en rapprochant les sons, en supprimant les éléments inutiles (doubles lettres, etc.) et on obtient une sorte de Hash du mot le représentant. On peut ensuite les comparer avec une fonction de distance.

Le Soundex est sympa à la base mais contrairement à la recherche FullText, Microsoft n’a jamais fait d’effort pour le promouvoir. Il existe de nombreux algorithmes de Soundex, Microsoft utilise le sien, mais forcément qui ne fonctionne pas dans tous les cas, notamment en multilingue.

Pour contourner cela, te faut soit acheter un composant tout prêt qui corresponde mieux au besoin ou à la langue. Soit l’implémenter soi-même avec une fonction CLR par exemple.

Frédéric Brouard a fait un super article sur le Soundex et propose des algos :

http://sqlpro.developpez.com/cours/soundex/

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s