Ich habe ein Suchrätsel muss ich lösen, aber meine Fähigkeiten sind minimal, so Entschuldigung, wenn ich das nicht gut erklären. Um zu versuchen, das Problem zu demonstrieren, hier ist ein Beispiel für die Daten in zwei Datenbankspalten:PHP Fuzzy-Suche 2 Spalten und die besten Treffer
| Start address | End address |
-----------------------------------------------
1 | Essex | Moortown, Leeds |
2 | Place A, London | Place B, Manchester |
3 | Townsville, Essex | Leeds Town Hall |
4 | Essex Trading Estate | Another Leeds Estate |
5 | Somewhere, Devon | Yeoville |
6 | ... | ... |
Wenn zum Beispiel ein Benutzer sendet „21 Einig Street, Essex“ und „Leeds irgendeinen Platz“ in dem entsprechenden Formularfelder muss ich die MySQL-Datenbank durchsuchen und die oberste X-Zahl der besten Übereinstimmungen zurückziehen, die in diesem Beispiel Zeilen 1, 3 und 4 wären, da sie alle Essex in der ersten Spalte und Leeds in der zweiten Spalte enthalten.
Ich kann sehen, dass PHP zwei Funktionen ashite_text() und levenshtein() hat, die dabei helfen können, aber ich bin mir nicht sicher, welche für diese Art von Teil passend und am genauesten ist Suchergebnisse. Ich habe in MySQL nichts Ähnliches gefunden.
Ist jemand mit Erfahrung in der Lage, mir irgendwelche Hinweise zu geben, bitte?
Prost
Andy
Sie könnten versuchen, einen 'FULLTEXT' -Verbundindex über beide Felder zu setzen und die Suche in natürlicher Sprache von MySQL zu verwenden: https://dev.mysql.com/doc/refman/5.5/en/fulltext-natural-language.html – CD001
Sie kann sich mit den Möglichkeiten von MySQL [Volltextsuche] (https://dev.mysql.com/doc/refman/5.7/de/fulltext-search.html) befassen. –