So lassen sich auch in C# Wörter mit Soundex kodieren

Der Code für die Implementierung dieser Regeln in C# sieht folgendermaßen aus:


Ein interessanter Nebeneffekt dieses Regelsatzes ist, dass der ausgegebene Wert davon abhängt, welches Wort man zuerst eingibt.

Zur Veranschaulichung dienen die beiden Wörter „Brad“ und „Zach“. Eine Eingabe in die Difference-Funktion mit der Reihenfolge „Difference(„Brad“, „Zach“)“ ergibt den Wert 1. Werden sie jedoch in der Reihenfolge „Difference(„Zach“, „Brad“)“ eingegeben, erhält man den Wert 2.

Das liegt daran, dass die zweite Codierung auf Zeichen aus der ersten Codierung überprüft wird und eben nicht die erste Codierung auf Zeichen aus der zweiten. Da die SQL Difference-Funktion jedoch genau die gleichen Ergebnisse liefert, lässt sich der oben erstellte Regelsatz unverändert beibehalten.

Performance und Sprachanpassung

Bei den hier gezeigten Soundex– und Difference-Funktionen handelt es sich offensichtlich nicht gerade um Leichtgewichte. Doch immerhin benötigt die obige C#-Implementierung von Soundex nur eine halbe Sekunde, um etwa 100.000 durchschnittlich lange Namen zu kodieren. Mit SQL dauert dasselbe knapp über eine Sekunde.

Wer hauptsächlich deutsche Begriffe nach ihrem Klang auswerten und vergleichen will, sollte eine Soundex-Weiterentwicklung implementieren: das Kölner Verfahren. Es ist beispielsweise auch in SAP verfügbar.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu So lassen sich auch in C# Wörter mit Soundex kodieren

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *