Existe-t-il un moyen d'augmenter la tolérance aux pannes de la fonction SQL SOUNDEX lorsqu'elle est utilisée pour la correspondance de chaînes floues? J'utilise ceci pour rechercher des noms de fournisseurs. Ce que j'ai:Augmenter la tolérance aux pannes pour SQL Soundex pour la correspondance de chaîne floue
WHERE
SOUNDEX(@SearchTerm) = SOUNDEX(s.Name)
Cela fonctionne dans une certaine mesure, mais je veux augmenter un peu la tolérance aux pannes. Par exemple:
SOUNDEX('test') = T230
SOUNDEX('tet') = T300
SOUNDEX('tets') = T320
SOUNDEX('tes') = T200
Idéalement, j'aimerais que tous ces exemples correspondent. En outre, un léger problème est quand un nom de fournisseur est composé de 2 mots et les recherches de l'utilisateur par le second mot, cela fonctionne évidemment puisque la marche dépend de la première lettre du mot:
SOUNDEX('test supplier') = T230
SOUNDEX('supplier') = S146
A l'origine, je utilisait une bibliothèque de comparaison de chaînes floues dans l'application Web qui utilisait divers algorithmes de comparaison de chaînes approximatives, mais il s'avère que lorsque 20 personnes recherchent simultanément plus de 5000 fournisseurs, c'est trop pour le serveur Web. J'essaye maintenant de faire ceci dans une procédure stockée de sorte que la base de données renvoie seulement les résultats recherchés et pas la liste complète des fournisseurs à rechercher.