Ich habe eine Website, die Filme auflistet. Natürlich machen Leute Rechtschreibfehler, wenn sie nach Filmen suchen, und natürlich gibt es die Tatsache, dass einige Filme Apostrophe haben, Buchstaben zum Buchstabieren von Zahlen im Titel usw. verwenden.Was ist der beste Weg, Tippfehlerkorrektur in eine Suche in PHP/MySQL zu implementieren?
Wie bekomme ich mein Suchskript, um diese Fehler zu übersehen ? Wahrscheinlich brauchen Sie etwas, das ein wenig intelligenter ist als WHERE mov_title LIKE '%keyword%'
.
Es wurde vorgeschlagen, dass ich eine Volltextsuchmaschine verwende, aber all diese Dinge sehen sehr kompliziert aus, und ich denke, dass sie in meiner Anwendung wie die Hölle auf Erden sein werden. Wenn ich eines verwenden muss, was ist das am wenigsten invasive, wird es am schmerzlosesten sein, es in bestehenden Code zu implementieren?
Hat Lucene Typo-Erkennung eingebaut? Was ist mit sphinxsearch? –
Ja, Lucene unterstützt Fuzzy-Suchanfragen. Der Algorithmus basiert auf der Levenshtein-Distanz. Die Java-API sieht folgendermaßen aus: http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/search/FuzzyQuery.html – PatrikAkerstrand
Gibt es keinen anderen Weg als die Verwendung von Lucene? –