Ich habe sowas mal in SQL geschrieben. mithilfe von:
- https://de.wikipedia.org/wiki/Levenshtein-Distanz
- https://de.wikipedia.org/wiki/Soundex
und noch einer eigenen Methode. aus den 3 bilde ich ein Rating von 100 bis 0% und ordne die Ergebnisse danach.

wenn du möchtest kann ich den code mal posten (wenn du noch Hilfe brauchst)