// Refined Soundex - codificación fonética mejorada con múltiples variantes
Más preciso que el algoritmo Soundex estándar.
Admite versiones Refined, Apache y SQL Server.
Agrupa inteligentemente consonantes con sonidos similares.
Refined Soundex mejora el algoritmo Soundex original utilizando asignaciones de caracteres más sofisticadas que capturan mejor las similitudes fonéticas. Mantiene la primera letra y codifica las consonantes posteriores en grupos de dígitos según sus características sonoras. El algoritmo ofrece tres variantes: la versión Refined estándar, la implementación de Apache Commons y una variante compatible con la función SOUNDEX de SQL Server.
Encoding process:
1. Keep first letter
2. Map consonants to digits
3. Remove duplicates
4. Pad with zeros to length
Refined mappings:
B,P � 1
F,V � 2
C,K,S � 3
G,J � 4
Q,X,Z � 5
D,T � 6
L � 7
M,N � 8
R � 9
Examples:
THOMPSON � T81938
T-H[0]-O-M[8]-P[1]-S[9]-O-N[3][8]
JACKSON � J23938
J-A-C[2]-K[3]-S[9]-O-N[3][8]
Apache variant:
Additional mappings for W,Y
SQL variant:
Original Soundex mappings
Refined Soundex es una versión mejorada del algoritmo Soundex original que proporciona una codificación fonética más precisa de los nombres. Utiliza asignaciones de consonantes mejoradas que representan mejor cómo se pronuncian realmente los sonidos.
Refined Soundex utiliza más grupos de dígitos (0–9 en lugar de 0–6) y asignaciones de consonantes más sofisticadas. Por ejemplo, separa M y N en códigos distintos y distingue entre más sonidos consonánticos que el algoritmo original.
Utiliza la variante Refined estándar para obtener la máxima precisión. Elige la variante de Apache si necesitas compatibilidad con la biblioteca Apache Commons Codec. Usa la variante de SQL Server si vas a comparar con la función SOUNDEX de SQL Server.
En general, Refined Soundex ofrece mejor precisión para nombres en inglés, especialmente cuando las diferencias de pronunciación son sutiles. Para nombres no ingleses o casos de uso específicos, algoritmos como Double Metaphone o Daitch-Mokotoff pueden ser más adecuados.