Привет!
Проект на php+mysql
Подскажите, пожалуйста, чем можно поиск по сайту оптимизировать?
Мне не нужен полнотекстовый поиск, а (например) sphinx и elasticsearch ведь только для этого нужны?
А вообще задача: фильтрация множества строк десятки тысяч (поиска как такового и нет)...
Спасибо!
(может выгружать в оперативку через redis и уже затем только фильтровать... или через mongo)..
Дайте совет или может линк на (размышления, тесты...) по этому поводу.
Андрей: а как такое оцените?
Сделать отдельную таблицу - сборочную, максимально денормализованную и работать на фронтенде с ней, по ней и фильтровать. А на бекенде при вставке этих самых строк - вставлять сразу в обе.
Если рост бд допустим - то нормально. Только я бы вместо вставки сразу в обе таблицы - создайте триггер в бд для заполнения "сборочной" таблицы. Тогда запись в бд останется атомарной.
Индекс на текст (в MySQL) имеет ограничение на максимальную длину, а полнотекстовый поиск (который так же можно использовать для фильтра) адски медленный.
Да, я понимаю, что индексы для того и придуманы. Но является ли это максимально эффективным решением? Может есть ещё что-то, что я упускаю (не понимаю).