Alexander (HH): Sortieren nach bester Übereinstimmung

Beitrag lesen

Moin Moin!

wie wäre es denn mit Funktionen, wie Levenshtein() oder Soundex()?

Soundex ist viel zu unscharf und spezifisch für Englisch. Meine Suche wird zwar irgendwann auch mal in einer englischen Umgebung laufen, aber eben auch in Umgebungen, die mit englisch absolut nichts zu tun haben, nicht einmal den gleichen Zeichensatz. Da liefert Soundex in etwa das gleiche Ergebnis wie random().

Levenshtein ist ebenfalls zu unscharf, ich suche eben keine Wechselstabenverbuchsler.

Ich habe (in einer Web-Umgebung auf einem irgendwann aus dem Internet erreichbaren Server) ein einzelnes Textfeld für eine "einfache Suche", in die man mehr oder beliebige Teile von Namen, E-Mail-Adresse, Ort usw. eingeben kann. Sucht jemand dort z.B. nach "alex", soll er alle Leute aufgelistet bekommen, deren Vor- oder Nachname, Wohnort, E-Mail-Adresse, Account-Name die exakte Zeichenfolge "alex" enthält. Platz eins soll Alexander Alexandropolis aus Alexandria mit der E-Mail-Adresse alexander-alexandropolis@alex.example.com sein, Alexandra Meier aus Flensburg mit ameier@freemailer.example.org wäre dann auf den letzten Plätzen.

Bei einer Suche nach "alexandra meier flensburg" wäre die Flensburgerin dann allerdings sehr wahrscheinlich das Top-Ergebnis.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".