Mir fallen da auf Anhieb zwei Ansätze ein:
Ähnlichkeitssuche (
string metric)
Levenshtein-Distanz,
Jaccard-Index
Jaro-Winkler
...
und
Phonetische Suche
Kölner Phonetik
Metaphone
Soundex ist übrigens für die deutsche Sprache weniger geeignet. Warum dieses Verfahren immer wieder erwähnt wird, ist mir ein Rätsel. Ich habe noch nie sinnvolle Ergebnisse mit Soundex bekommen. Mein Favorit bei der Ähnlichkeitssuche ist Jaro-Winkler (allerdings eine tokenbasierte Variante), bei den phonetischen ist Metaphone-2 (V3 ist kostenpflichtig) sehr gut, da der Algorithmus nicht nur für die deutsche Sprache geeignet ist.
Probleme gibt es fast immer bei kurzen Wörtern, denn ist 'Wut' und 'Gut' ähnlich? immerhin stimmen nur nur 66% der Buchstaben überein.