Ich suche nach Fuzzy-Suche für eine kleine PHP/MySQL-Anwendung zu implementieren. Insbesondere habe ich eine Datenbank mit etwa 2400 Datensätzen (Datensätze mit einer Rate von etwa 600 pro Jahr hinzugefügt, so ist es eine kleine Datenbank). Die drei Interessengebiete sind Straße, Nachname und Datum. Ich möchte in der Lage sein, nach einem dieser Felder zu suchen und im Wesentlichen Toleranz für Rechtschreib-/Zeichenfehler zu haben. dh eine Adresse von "123 Main Street" sollte auch mit "123 Main St", "123 Main St.", "123 Mian St", "123 Man St", "132 Main St" usw. übereinstimmen und ebenfalls nach Namen und Datum.PHP/MySQL kleine unscharfe Suche
Die wichtigsten Fragen, die ich mit Antworten auf ähnliche Fragen haben:
- Es ist unmöglich, Synonyme für jede mögliche falsche Schreibweise zu definieren, vergessen so für Daten und Namen zu tun.
- Lucene usw. scheint sehr schwer für solch eine begrenzte Suchdatenmenge (nennen Sie es maximal 5.000 Datensätze, 3 Felder pro Datensatz).
- Nur etwas mit Platzhaltern zu tun scheint nicht logisch mit allen möglichen Rechtschreibfehlern.
Irgendwelche Vorschläge? Ich weiß, dass es nicht möglich ist, nativ mit MySQL zu arbeiten, aber da die Datenmenge so begrenzt ist, möchte ich es relativ einfach halten ... vielleicht eine PHP-Klasse, die alle der Datensätze aus Die Datenbank verwendet eine Art Vergleichsalgorithmus und gibt die IDs der ähnlichen Datensätze zurück.
Danke, Jason