Ho un sito che elenca i film. Ovviamente le persone commettono errori di ortografia durante la ricerca di film e, ovviamente, alcuni film hanno apostrofi, usano lettere per comporre numeri nel titolo, ecc.Qual è il modo migliore per implementare la correzione della correzione ortografica in una ricerca in php/mysql?
Come faccio a evitare che lo script di ricerca trascuri questi errori ? Probabilmente ha bisogno di qualcosa che sia un po 'più intelligente di WHERE mov_title LIKE '%keyword%'
.
È stato suggerito di utilizzare un motore di ricerca di testo completo, ma tutte queste cose sembrano davvero complicate e sento che la loro costruzione nella mia applicazione sarà come un inferno sulla terra. Se devo usarne uno, qual è il meno invasivo, che sarà più indolore implementare nel codice esistente?
In Lucene è incorporato il riconoscimento degli errori di battitura? Che dire di sphinxsearch? –
Sì, Lucene supporta le query di ricerca Fuzzy. L'algoritmo è basato sulla distanza di Levenshtein. L'API Java si presenta così: http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/search/FuzzyQuery.html – PatrikAkerstrand
Non c'è altro modo se non usare Lucene? –