Le Soundex génère une "image" en 4 caractères d'un mot unique, via un algo basé sur une espèce de logique d'index accordé aux groupes de consonnes (et un tripatouillage sur les voyelles), en considérant certains comme phonétiquement équivalentes ou proches.
Et donc Soundex de par sa finalité n'aime pas du tout qu'on rajoute ou retranche des syllabes entières à un mot, ça transforme complètement le résultat. Donc dans ton cas, ça n'est pas approprié.
Au lieu d'une approche phonétique, tu devrais utiliser une approche grammaticale comme Levenshtein cité par rufo, et éventuellement envisager de t'appuyer sur un outil d'indexation full text comme Lucene qui offre plus de souplesse pour les besoins comme le tien.
Remarques en vrac :
- A la base l'"index" est fait pour l'anglais, il y a une variante pour le français (entre autres), donc faut t'assurer d'utiliser la version appropriée pour ta langue.
- Les patronymes sont un cas particulier vu que ça peut impliquer des variations de langues, mais en France on aura tendance à prononcer à la française de toute façon.
- Il y a d'autres algos phonétiques, un machin qui s'appelle Metaphone par exemple, mais qui ne résolvent pas ton problème.
Message édité par TotalRecall le 23-05-2018 à 15:01:39
---------------
Topic .Net - C# @ Prog