Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

MudGuard schrieb am 26.March.2009, 11:50:59 in der Kategorie web.coding

Suche mit PHP, auch nach falsch geschriebenen Begriffen

> Um zum Beispiel alle Filzstifte zu finden muss man genau \"Filzstift\"
> eingeben.
>
> Ist es jetzt eine besonders schwierige Sache die Suche so umzuschreiben,
> dass auch bei Schreibfehlern (z. B. Filsstift) die Artikel gefunden werden.
> Muss man da extra eine Datenbanktabelle mit allen möglichen Schreibfehlern
> anlegen?

Eine Möglichkeit wäre \"Soundex\".
Da werden (vereinfacht) die Begriffe genommen und ähnliche Buchstaben(gruppen) durch den gleichen ersetzt. Danach werden die veränderten Begriffe verglichen.

s und und ß und c und z werden z.B. zu s, t und d zu d, p und b zu b, ph und f und w und v zu w usw, Vokale fliegen raus.
Mehrfache gleiche Buchstaben im Resultat werden zu einem reduziert.

Aus Filsstift würde im ersten Schritt (Buchstabenersetzung) zu

wilssdiwd

im zweiten Schritt (Vokale weg) zu

wlssdwd

im dritten Schritt zu

wlsdwd

Sucht jemand nach Vuilßschdifft, wird das im ersten Schritt zu
wuilssdiwwd, im zweiten zu wlssdwwd und im dritten zu wlsdwd. Und siehe da, das paßt auf den Filsstift.

Ggf. bietet es sich an, in der Datenbank eine zusätzliche Spalte anzulegen, in dem die Produktbezeichnung schon fertig konvertiert vorliegt, dann muß die Umformung nicht mehr bei jeder Suche für jedes Produkt gemacht werden.

Achtung: die im Netz zu findenden Soundex-Algorithmen sind meist auf Englisch zugeschnitten, für Deutsch muß man ein paar Anpassungen vornehmen.
Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz