Поиск на сайте магазина — самый недооценённый элемент каталога. Посетитель, который им пользуется, уже знает, чего хочет: он не листает категории, а формулирует запрос. Это самая горячая аудитория на сайте, и именно её теряет поиск, устроенный как совпадение подстроки в названии.
Что делает обычный поиск
Стандартный поиск большинства движков магазинов ищет вхождение введённых слов в название и описание товара. Это работает ровно в одном случае: покупатель написал то же, что написано в карточке.
На практике он не пишет то же самое:
- сокращает — «болгарка» вместо «углошлифовальная машина»;
- ошибается — «перфаратор»;
- переключает раскладку — «gthajhfnjh»;
- описывает задачу, а не товар — «чем сверлить бетон»;
- ищет по параметру — «диск 230»;
- берёт артикул из прайса производителя, а не из вашей карточки.
Каждый из этих случаев обычный поиск заканчивает пустой страницей.
Три канала вместо одного
Работающий поиск — это не один улучшенный алгоритм, а несколько разных, работающих одновременно. Каждый закрывает то, в чём остальные слабы.
Точное совпадение. Артикул, код, штрихкод. Единственный канал, который надёжно различает «G200» и «G160». Должен иметь наивысший приоритет: если человек ввёл артикул, он хочет именно этот товар.
Нечёткое совпадение. Название с опечатками, в другой словоформе, в чужой раскладке. Спасает от пустой выдачи там, где точное совпадение бессильно.
Поиск по смыслу. Описательные запросы, синонимы, формулировки задачи. Находит перфораторы по запросу «чем сверлить бетон», где нет ни одного слова из карточки.
Результаты трёх каналов сводятся в одну выдачу с учётом приоритета. Пустой результат при этом становится редкостью: чтобы его получить, запрос должен не сработать во всех трёх сразу.
Ошибка проектирования — выбрать один «самый умный» канал. Семантический поиск в одиночку не различает цифры в характеристиках, точный — не прощает опечаток.
Что ещё должен уметь поиск в каталоге
Понимать характеристики
Если у товаров в фиде заполнены свойства, значения из них должны индексироваться наравне с названием. Тогда «230 мм» находит нужные диски, а «9 л.с.» — двигатели, даже если в названии этих чисел нет.
Считать фильтры по живой выдаче
Категория, бренд и диапазон цены должны считаться по текущему результату, с количеством товаров у каждого значения. Статичный список фильтров рано или поздно приводит покупателя в пустую выдачу — комбинация, которой в вашем каталоге не существует.
Работать быстро
Подсказки обновляются на каждый введённый символ. Всё, что дольше нескольких десятков миллисекунд, ощущается как залипание. Это накладывает жёсткое требование: вычисления должны идти локально, без обращения к внешним сервисам на каждое нажатие.
Как понять, что поиск теряет деньги
Три числа, которые стоит посмотреть в первую очередь:
| Показатель | Что означает |
|---|---|
| Доля запросов без результата | прямая потеря готовых покупателей |
| Доля посетителей, дошедших до товара после поиска | качество релевантности |
| Конверсия искавших против неискавших | ценность поиска для магазина |
Последнее число обычно удивляет: посетитель, воспользовавшийся поиском, покупает заметно чаще, чем тот, кто просто листал каталог. Это и есть аргумент за то, чтобы поиском заниматься всерьёз.
Что нужно со своей стороны
Поиск читает тот же товарный фид, что и остальные сервисы: YML или CommerceML. Отдельно готовить ничего не нужно, но качество результата напрямую зависит от того, что в фиде лежит:
- артикулы — иначе не работает точный канал;
- характеристики — иначе не работает поиск по параметрам и фильтры;
- категории — иначе не сгруппировать выдачу;
- актуальные остатки — иначе покупатель найдёт то, чего нет.
Первые две строки — самая частая причина, по которой «умный поиск не помог»: алгоритмы работают, но искать в карточках нечего.
Коротко
- Посетитель, пользующийся поиском, — самая готовая к покупке аудитория на сайте.
- Один алгоритм задачу не решает: нужны точный, нечёткий и смысловой каналы одновременно.
- Значения характеристик должны индексироваться наравне с названием.
- Фильтры считаются по живой выдаче, иначе они приводят в пустоту.
- Качество поиска ограничено качеством фида — артикулами и заполненными свойствами.


