Производительность
Sphinx/Manticore для поиска в Битрикс24
Алексей Завьялов, Tech Lead10 мин
При росте базы до 500 тыс+ контактов стандартный поиск Битрикс24 начинает тормозить. Решение — Sphinx или его современный форк Manticore.
Когда Sphinx нужен
- Более 500 000 записей в любой сущности
- Частый поиск по текстовым полям
- Поиск по нескольким сущностям одновременно
Установка
На отдельном сервере Sphinx Search 3.x или Manticore Search 5.x. Отдельный потому что индексация — ресурсоёмкая, на одном сервере может мешать приложению.
Конфигурация для Битрикс24
Индексы создаются автоматически для стандартных сущностей. Для кастомных — настраиваем через Битрикс24 API или напрямую в sphinx.conf.
Реалтайм-индексы
Используем RT-индексы для мгновенной доступности новых записей в поиске. Без перестроения.
Результаты
Поиск "Иван Карелин" среди 2 млн контактов: MySQL LIKE — 8 секунд, Sphinx — 20 мс. Разница в 400 раз.