bitrix-code
Производительность

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 раз.