Настройка ПО для поиска по данным на сайте (данные в MySQL, бэк PHP)
Приветствую!
Необходима настройка ПО для поиска и индексации по данным из БД MySQL 5.7 (8 таблиц).
Я предоставлю тестовый набор данных: дамп БД с таблицами по 5000 записей в каждой.
Полный набор данных - около 7 млн. записей, ~ 10 GB для индексации.
Язык контента - русский, английский.
ПО:
В качестве главного кандидата ПО - Sphinx 3, но я рассмотрю любые конкретные предложения, которые способны выдавать результат за 50-100 мс в условиях ограничений по RAM 8..16 GB на среднем по производительности выделенном сервере.
Задачи у поиска такие:
- Релевантный поиск по всему набору данных
- Поиск с ограничением по категории сайта
- Автодополнение строки поиска, в зависимости от категории сайта
- Поиск похожих объектов по имени, в зависимости от категории сайта
Так же необходима инструкция по переходу на более мощный продакшн-сервер, и ваши рекомендации по соответствующему изменению настроек.
Поиск будет использоваться совместно с PHP 7.3 бекендом, и так же я хотел бы получить рекомендации по оптимальному способу вызова поиска из бекенда.
Спасибо за внимание)