Я хочу создать автозаполнение для полнотекстового поиска с помощью AJAX, PHP и MySQL.
Ищу правильный способ реализовать бэкэнд. Пока пользователь печатает, поле ввода должно предлагать ему подсказки. Предложения должны создаваться из текстовых записей в таблице.
Некоторая информация для этих записей: они хранятся в полнотекстовом формате, сгенерированы из PDF по 3-4 страницы каждая. На данный момент там не более 100 заявок, а в ближайшие несколько лет их количество достигнет 2000.
Если пользователь начинает печатать, слово, которое он набирает, должно быть завершено словом, которое хранится в БД, отсортированным по убыванию появления. Следующий шаг - предложить комбинации с другими словами, которые часто встречаются в записях, соответствующих первому слову. Конечно, вы можете сравнить это с автоподсказкой Google.
Я думаю о 3 различных способах реализации этого:
Создайте индекс с помощью cronjob, ведьма подсчитывает вхождения слов и комбинаций за ночь. Пользователь ищет по этому индексу.
Я выполняю поиск в записях в реальном времени с помощью функции «LIKE"% search% "». Затем я ищу слово после этого и группирую их по вхождению.
Я создаю файл журнала для всех пользовательских поисков и ищу хорошие комбинации, как в 1), поэтому поиск становится более интеллектуальным с каждым поисковым действием.
Как лучше всего начать с этого? Поиск должен быть быстрым и эффективным. Есть ли лучшая возможность, о которой я не думал?