Перейти к содержимому

Поиск по сайту

Поиск по сайту — самая измеримая часть AI-поиска: известны запросы, известны клики, известен результат. И самая недооценённая: на большинстве сайтов это поле в шапке, подключённое штатной функцией платформы, которое ищет по заголовкам.

Для магазина поиск — это конверсионный канал. Пользователь, который ищет, уже знает, чего хочет; если он не находит, он уходит к конкуренту, а не листает каталог.

СлойЗадача
Сбор и нормализацияТовары, статьи, документы: заголовок, текст, атрибуты, синонимы
Лексический индексТочные слова, артикулы, модели, опечатки (BM25, морфология)
Векторный индексСмысловое сходство: «чтобы не грело» → «с низким энергопотреблением»
ОбъединениеГибридное ранжирование по рангам, а не по абсолютным score
Фильтры и фасетыЦена, бренд, наличие, категория
ВыдачаСписок, подсказки, «возможно, вы имели в виду»

Для интернет-магазина гибрид почти обязателен: чистый семантический поиск плохо находит номер модели, чистый лексический — не понимает перефразирование. Подробнее о механике — в разделе Поиск и reranking.

Пользователь, который ищет «кроссовки 42 размера до 8000 рублей», не хочет десять релевантных моделей без размера. Три вещи дают больше пользы, чем улучшение ранжирования:

  1. Извлечение ограничений из запроса. Размер, цена, цвет — в фильтры, а не в текст поиска.
  2. Фасеты с количеством. «Бренд: Nike (12)» — это и фильтр, и подсказка, что ещё есть.
  3. Наличие и срок. Товар «нет в наличии» в выдаче — потерянный клиент; показывать его стоит отдельно или не показывать вовсе.

Запрос без результатов — самый ценный источник улучшений:

  • Логировать запросы и нормализовать их (регистр, опечатки, раскладка).
  • Показывать альтернативы: близкие категории, исправленный запрос, популярное.
  • Пополнять словарь синонимов по реальным формулировкам: «батарейка» → «аккумулятор», «наушники беспроводные» → «TWS».
  • Не подменять пустоту случайной выдачей: пользователь воспринимает это как нерелевантность.

На сайте с контентом та же логика: пустая выдача по теме означает, что материала нет — это задача для редакции, а не для поиска.

  • Опечатки и раскладка. «rjgjvbxrf» вместо «компьютер» — нужна нормализация, а не «умный» поиск.
  • Морфология. «дрели» и «дрель» — разные токены для простого индекса; лемматизация обязательна для русского.
  • Синонимы без словаря. Ни одна модель не угадает внутренние названия линеек и аббревиатуры.
  • Устаревший индекс. Цену и наличие нельзя обновлять раз в сутки: фильтр по цене покажет вчерашнюю.
  • Смешение языков. Двуязычный каталог на одной эмбеддинг-модели даёт просадку.
  • Медленная выдача. Поиск с автодополнением обязан отвечать за десятки миллисекунд.
  • Zero-result rate — доля запросов без результатов.
  • Click-through rate по выдаче и позиция клика.
  • Поисковые конверсии — доля заказов, начатых с поиска.
  • Переформулировки — сколько раз пользователь меняет запрос.
  • Время до первого осмысленного действия.

Для контентного сайта клики менее важны, чем успех задачи: пользователь мог получить ответ в сниппете. Это нормальный исход, а не провал — см. Ответные движки.

  • Работает ли поиск с опечатками и морфологией на реальных запросах из логов.
  • Есть ли синонимы и кто их пополняет.
  • Обновляются ли цены, наличие и статусы в индексе так же часто, как в базе.
  • Есть ли осмысленный пустой результат.
  • Измеряется ли успех задачи, а не только клики.