Mam stronę z listą filmów. Naturalnie ludzie popełniają błędy w pisowni podczas wyszukiwania filmów, i oczywiście jest to, że niektóre filmy mają apostrofy, używają liter, aby przeliterować numery w tytule, itp.Jaki jest najlepszy sposób wprowadzenia korekty literówki do wyszukiwania w php/mysql?
Skąd wziąć, że mój skrypt wyszukiwania pomija te błędy ? Prawdopodobnie potrzebujesz czegoś, co jest trochę bardziej inteligentne niż WHERE mov_title LIKE '%keyword%'
.
Zasugerowano, że korzystam z wyszukiwarki pełnotekstowej, ale wszystkie te rzeczy wyglądają na bardzo skomplikowane i wydaje mi się, że dodanie ich do mojej aplikacji będzie jak diabli na ziemi. Jeśli muszę użyć jednego, to co najmniej inwazyjne, które będzie najbardziej bezbolesne do wdrożenia w istniejącym kodzie?
Czy Lucene ma wbudowane rozpoznawanie literówek? Co ze sphinxsearch? –
Tak, Lucene obsługuje zapytania Fuzzy. Algorytm opiera się na odległości Levenshteina. Interfejs API języka Java wygląda następująco: http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/search/FuzzyQuery.html – PatrikAkerstrand
Czy nie ma innej możliwości oprócz użycia Lucene? –