Я пытаюсь реализовать живой поиск для моего сайта. Тот, который идентифицирует слова или части слова в данной строке. Мгновенные результаты затем подчеркиваются там, где они соответствуют запросу.
Например, запрос «Жареные зеленые помидоры» даст:
SELECT *
FROM articles
WHERE (title LIKE '%fried%' OR
title LIKE '%green%' OR
title LIKE '%tomatoes%)
Это прекрасно работает с очень маленьким набором данных. Однако, как только количество записей в базе данных увеличивается, этот запрос быстро становится неэффективным, поскольку он не может использовать индексы.
Я знаю, что это технически для FULLTEXT поиска в MySQL, но качество результатов просто не такое хорошее.
Какие есть альтернативы для поиска по подстроке очень высокого качества при сохранении эффективности запроса?
Спасибо.