// Refined Soundex - улучшенное фонетическое кодирование с несколькими вариантами
Более точный по сравнению со стандартным алгоритмом Soundex.
Поддерживает версии Refined, Apache и SQL Server.
Интеллектуально группирует созвучные согласные.
Refined Soundex улучшает оригинальный алгоритм Soundex, используя более сложные отображения символов, которые лучше фиксируют фонетическое сходство. Первая буква сохраняется, а последующие согласные кодируются как группы цифр в соответствии с их звуковыми характеристиками. Алгоритм предоставляет три варианта: стандартную версию Refined, реализацию Apache Commons и вариант, совместимый с функцией SOUNDEX в 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 — это улучшенная версия оригинального алгоритма Soundex, обеспечивающая более точное фонетическое кодирование имен. Он использует усовершенствованные отображения согласных, которые лучше отражают реальное произношение.
Refined Soundex использует больше групп цифр (0–9 вместо 0–6) и более сложные отображения согласных. Например, он разделяет M и N на разные коды и различает больше согласных звуков, чем исходный алгоритм.
Используйте стандартный вариант Refined для максимальной точности. Выберите вариант Apache, если вам нужна совместимость с библиотекой Apache Commons Codec. Применяйте вариант SQL Server при сравнении с функцией SOUNDEX в SQL Server.
В целом Refined Soundex обеспечивает лучшую точность для английских имен, особенно при небольших различиях в произношении. Для неанглийских имен или особых случаев могут лучше подойти алгоритмы Double Metaphone или Daitch-Mokotoff.