Поиск и каталог
Поиск и фильтры каталога, которые находят товар
Поиск в интернет-магазине работает как продавец в зале. Если на «самсунк телефон» он отвечает «ничего не найдено», покупатель уходит. Я настраиваю Elasticsearch так, чтобы он понимал покупателя и учитывал ваш бизнес: наличие, маржу, сезон.
Признаки, что поиск теряет деньги
- В логах много запросов с нулём результатов, и никто их не читает.
- Фильтр отвечает дольше секунды.
- Товары «нет в наличии» стоят в выдаче выше доступных.
- «Носки» и «гольфы», «ghbdtn» и «привет», артикулы с пробелами и без: поиск их не связывает.
- На общий запрос три тысячи результатов без внятного порядка.
Когда Elasticsearch не нужен
Если каталог небольшой и SQL справляется, отдельный поисковый кластер добавит расходов на поддержку. Иногда разумнее взять SaaS-поиск. Сравню варианты честно.
Поиск без Elasticsearch: когда хватает SQLЧто делаю
Разбор поискового лога
Что ищут, что не находят, где уходят.
Mapping и анализаторы для русского языка
Морфология, синонимы, опечатки, раскладка.
Фасеты и агрегации
Отвечают за миллисекунды на десятках тысяч SKU.
Ранжирование
С учётом наличия, маржи и ручных правил мерчандайзера.
Автокомплит и подсказки
Покупатель видит товар до того, как допечатал запрос.
Переиндексация без простоя
Через алиасы, с синхронизацией с Битриксом или 1С.
Как проходит работа
- 1
Лог и 20 запросов
Смотрю, что ищут и где поиск отвечает плохо.
- 2
Разбор
Можно отдельно или в составе технического аудита.
- 3
Внедрение
Отдельным этапом с фиксированной ценой и переиндексацией без простоя.
- 4
Наблюдение
Сравниваем нулевые выдачи и скорость фильтров до и после.
Сроки и стоимость
- Сроки
- Разбор входит в аудит, срок внедрения называю после него
- Стоимость
- Разбор поиска можно добавить к техническому аудиту. Внедрение оцениваю отдельным этапом с фиксированной ценой.
Пример работы
Пример работы
Каталог на 28 000 товаров: Next.js поверх 1С-Битрикс
Рабочий PHP-backend остался на месте: заказы, ценообразование, интеграции. Интерфейс и поиск переехали на Next.js и Elasticsearch, SEO-структура сохранена.
Читать кейсВопросы
- Можно подключить Elasticsearch к текущему Битриксу без headless?
- Да. Поиск и фильтры можно вынести отдельно, витрину при этом не трогать.
- Кто будет поддерживать кластер?
- Решаем заранее: ваш хостинг, managed-сервис или моё сопровождение. Оставлять кластер без хозяина не стоит.

Работу делаю я
Иван Понамарев, senior full-stack инженер, 10+ лет в production. Вы говорите с тем, кто принимает технические решения и пишет критичный код.
Связанные форматы
Пришлите 20 запросов, на которые ваш поиск отвечает плохо
Посмотрю и скажу, что с этим делать.