Как мы учили поиск думать, пока страна доедала оливье
Январь — особенное время. Половина страны ещё вспоминает, какой сегодня день недели, другая половина — уже срочно ищет нужные товары, а IT-системы в этот момент внезапно оказываются под двойной нагрузкой.
Именно в таком январе к нам пришёл запрос: «Поиск есть, но он не понимает пользователей. Совсем.»
Когда поиск вроде работает, но ничего не находит
Каталог большой, ассортимент сложный, запросы — человеческие. А поиск был… компьютерным. Слишком буквальным.
Что происходило на практике:
пользователь писал «от боли в горле» — поиск искал ровно это словосочетание;
опечатка превращалась в «ничего не найдено»;
синонимы система игнорировала;
автоподсказки были скорее формальностью;
служба поддержки отвечала на вопросы быстрее, чем поиск.
Добавим сюда январский фактор:
трафик скачкообразный;
часть команды в отпуске;
обновлять ядро системы «прямо сейчас» нельзя.
Весело? Немного. Управляемо? Уже не очень.
Решение: научить поиск понимать, а не угадывать
Мы предложили не «улучшить поиск», а переосмыслить его логику. Сделать так, чтобы система понимала смысл запроса, даже если пользователь сам не до конца уверен, что именно ищет.
В основе — гибридный подход:
классический текстовый поиск для точных совпадений;
векторный поиск для смысла и контекста;
NLP для обработки языка, синонимов и сущностей.
Звучит красиво. На практике — куча нюансов.
Техническое осложнение №1: инфраструктура «на январских оборотах»
Любые серьёзные изменения в поиске — это:
пересборка индексов,
нагрузка на Elasticsearch,
тестирование под реальный трафик.
А январь не очень любит резкие движения.
Что сделали:
разворачивали систему параллельно существующему поиску;
тестировали на реальных логах, но без влияния на пользователей;
включали новый поиск постепенно, сегментами.
Никто ничего не заметил. Значит, всё прошло правильно.
Техническое осложнение №2: опечатки, которые ломают мозг
Мы быстро поняли: пользователи пишут не так, как в документации. Опечатки, сокращения, разговорные формулировки — всё это превращало стандартный поиск в «угадай мелодию».
Решение:
многоуровневая система исправления опечаток;
fallback-поиск, если первый запрос не дал результатов;
автокомплит, который действительно помогает, а не просто «дописывает буквы».
Поиск перестал обижаться на пользователей. И это сильно улучшило отношения.
Техническое осложнение №3: система должна думать быстро
Интеллектуальный поиск — это круто, пока он не начинает думать слишком долго.
Мы оптимизировали:
векторные индексы (HNSW);
кеширование популярных запросов;
асинхронную обработку сложных сценариев.
В итоге поиск стал умнее, но не медленнее — что обычно самое сложное сочетание.
Что получилось в итоге
Через несколько недель:
количество пустых запросов резко сократилось;
пользователи начали находить товары даже по неточным формулировкам;
снизилась нагрузка на поддержку;
поиск стал основой для будущего AI-ассистента.
И главное — система перестала быть «фильтром», она стала помощником.
Главный вывод
Интеллектуальный поиск — это не про технологии.Это про уважение к пользователю.
Даже если он:
печатает с ошибками,
формулирует запрос «на глазок»,
делает это в январе, одной рукой, второй — держа мандарин.
Если поиск его понимает — бизнес выигрывает. А мы в очередной раз убедились: лучшие AI-проекты начинаются с простого вопроса «А почему людям сейчас неудобно?»