
A SOUNDEX funkcióblokk kiszámítja egy karakterlánc hangulatszerűségét.
A Soundex-értékek azokat a tulajdonságokat mutatják ki, hogy hasonlóan ejtett szavak ugyanazt a Soundex-értéket generálják. Ezt használhatja fel adatbázisban történő kereséshez, ha ismeri a kiejtést, de nem a pontos írásmódot. A Soundex függvény egy négy karakterből álló karakterláncot ad vissza, amely egy betűvel kezdődik.
A bemenet meghatározza azt a karakterláncot, amelyet kiszámítani kell.
Visszaad egy karakterláncot a Soundex-kóddal.
Minden Soundex-kód egy betűből és három számjegyből áll, például A532 az Antcas számára. Ha a kódolandó szó olyan hosszú, hogy több számjegyet generálhatnánk, akkor a harmadik számjegy után szakadunk meg. Ha a szó túl rövid, akkor a utolsó számjegyeket nullákkal töltjük fel. Az ázsiai Lee név tehát L000 kódként jelenik meg.
| Számjegy | Reprezentált betűk |
|---|---|
| 1 | B, F, P, V |
| 2 | C, G, J, K, Q, S, X, Z |
| 3 | D, T |
| 4 | L |
| 5 | M, N |
| 6 | R |
A magánhangzók A, E, I, O és U és a mássalhangzók H, W és Y figyelmen kívül hagyandók, kivéve az első karakterben. Kiegészítendő a német nyelv számára: az umlautok Ä, Ö és Ü figyelmen kívül hagyandók, a "scharfe S" ß úgy kódolható, mint az egyszerű S.
Ha több egymás után következő betű van az eredeti karakterláncban, amelyek ugyanazt a Soundex-kódot adnak, akkor ez csak egyszer jelenik meg az eredményesetben, tehát abfx például A120-t ad (a marad, mert első betű, b és f ugyanazt a kódot adja 1, x pedig 2-t, a végén egy nulla van hozzáadva, hogy négy karakter legyen).
A Soundex eljárás gyakorlati alkalmazása során főleg két pont kritizálható: Egyrészt nagyon angol nyelvűre van orientálva, másrészt csak nagyon nagy vonalakban nyújt elemzést.
Mindezek ellenére megállapítható, hogy a bemutatott algoritmus valószínűleg a leggyakrabban alkalmazott fonetikus kereséshez. Segített benne az is, hogy az Oracle adatbázis számára már nagyon korán egy megfelelő PL/SQL szabványparancs implementálása történt.