А сделай нам быстрый поиск на сайте...
Именно с такими словами подошел сегодня ко мне мой непосредственный. Что-то, говорит, наш текущий поиск очень медленно работает и да и вообще бывает неверные результаты выдает. Ну, вариантов отмазаться нет (поиск действительно тупит периодически), надо делать.
"А помнишь как все начиналось..."
Как обычно, стартуем с анализа ситуации и всех исходных данных.
Вводные данные:
- Сайт на Bitrix
- Сайт большой (я бы даже сказал практически огромный, одних только товарных предложений более 100 000 позиций)
- Поиск стандартный битриксовый (и как он жил до сих пор?!?)
- Параметры сервера позволяют немного "похимичить"
- Когда то давно слышал про Sphinx
"Все было впервые и вновь..."
Я не шутил в пункте 5, я именно когда то слышал краем уха про Sphinx, но самому пока сталкиваться не приходилось. Не беда, яндекс все знает, а google поможет найти остальное :) Открываем поиск и начинаем искать. Нашел небольшой мануал по установке, сохраню его к себе для памяти, ну и конечно же поделюсь им с вами. Открываем консоль и погнали:
add-apt-repository ppa:builds/sphinxsearch-rel22
apt-get update
apt-get install sphinxsearch
service sphinxsearch start
Далее открываем битрикс и вписываем параметры, и при сохранении он начинает ругаться. Что-то пошло не так... чёрт. Еще раз смотрим в пункты выше...и видим, что по месту где должен находиться поисковой индекс /var/lib/sphinx уже лежит файлик binlog.meta - удаляем его, рестартим сервис
service sphinxsearch restart
И вуаля! Ошибок нет.
Открываем снова битрикс и по новой вписываем конфиги
После этого нам Bitrix говорит, что надо переиндексировать поиск. Ну чтоже, не беда, сделаем. Для этого идем в Поиск - Переиндексация, снимаем там галку "Переиндексирвоать только измененные", и стартуем процесс
После долгих и мучительных ожиданий мы все таки видим интересующую нас надпись. УРА!
Вдогонку
Так как были задеты индексные файлы битрикса, то думаю будет не лишним выполнить оптимизацию и восстановление БД. Да и в принципе это действие никогда не бывает лишним.
DONE
Поиск работает. Причем гораздо пошустрее и приятнее чем стандартный.
Всем спасибо за внимание и не забывайте подписываться на мой канал. Если есть что высказать по теме - welcome в комментарии, поддержу беседу, насколько позволит время :)