К содержимому
Поиск в каталогеПрактика развития B2B-магазина

Поиск товаров по артикулу и названию: почему нужны разные правила

Закупщик вставляет код из прайса и ждёт один товар. Через минуту он вводит «маркер синий» и хочет выбрать из нескольких. Поле поиска то же, а правила уже другие. Разберём, что за этим стоит.

Попробовать интерактивный пример

Из личной практики разработки и многолетнего сопровождения B2B-магазина. Работа над проектом началась до основания ЧБ-studio.

Покупатель уже знает товар. Зачем ему подборка?

В розничном магазине человек может спокойно рассматривать похожие вещи. В оптовом кабинете у него часто другая работа: собрать закупку по готовому списку. У ручек различаются толщина стержня и цвет, у бумаги — формат и плотность, у упаковок — количество. Внешне похожая позиция может оказаться совсем не той, которая нужна.

Если покупатель вводит полный артикул, точное совпадение должно быть заметно сразу. Выдача из десятков приблизительно похожих товаров заставляет его снова сверять код. Поиск вроде бы что-то нашёл, но основную работу оставил человеку.

С запросом «маркер синий» ситуация меняется. Здесь нет единственного правильного товара: нужно найти подходящую группу, показать различия и дать сузить выбор. Жёсткое сравнение целой строки с названием карточки такую задачу не решает.

В B2B-проекте, который я разрабатывал и продолжаю сопровождать, в одной строке поиска встречаются внутренние коды, артикулы, штрихкоды и обычные слова. Для них предусмотрены отдельные условия совпадения. Именно с разделения этих сценариев и стоит начинать работу над поиском.

Сначала договориться, что считать кодом

«Артикул» кажется понятным словом, пока у одного товара не появляются код поставщика, код в учётной системе и штрихкод. Покупатель может копировать любой из них. Поэтому первый вопрос к каталогу простой: какие идентификаторы в нём есть и откуда люди берут каждый из них?

Для артикула обычно полезно убрать пробелы по краям и не учитывать регистр. С дефисами и косыми чертами нужно быть внимательнее. Условные AB-120 и AB120 иногда обозначают одну позицию, а иногда — разные. Нормализация должна следовать правилам справочника. Если просто удалить все знаки, можно объединить то, что объединять нельзя.

Число внутри строки тоже ничего не доказывает само по себе. «Бумага А4» содержит букву и цифру, но это вполне обычный запрос по названию. В поиске этого проекта условия запроса выбираются по признакам введённой строки. Такие правила нужно проверять на реальных запросах и ассортименте.

Четыре запроса — четыре ожидания покупателя
Что ввелиЧто ожидают увидеть
AB-120Товар с этим артикулом; соседние коды не должны его заслонять.
AB-12Семейство товаров, чей код начинается так же.
маркер синийМаркеры нужного цвета, даже если название содержит дополнительные слова.
бумага А4Бумагу соответствующего формата, а не попытку расшифровать артикул.

Посмотрите, как меняется выдача

Ниже — маленький учебный каталог. В нём специально есть похожие артикулы, разные цвета и товар без остатка. Попробуйте готовые запросы или введите свой. У каждой найденной позиции видно, почему она попала в результат.

Переключатель наличия показывает отдельный выбор, который придётся сделать для настоящего магазина. Что важнее: сначала найти точный товар или сначала показать то, что можно отгрузить? Для закупщика, готового ждать нужную позицию, и для срочной покупки ответ будет разным.

Попробуйте самиОдин каталог, разные запросы

Шесть вымышленных товаров. Упрощённый поиск показывает точное совпадение, часть кода и слова названия.

Найдено: 2 · точность важнее наличия

  1. 1
    Маркер синийAB-120 · Точный артикул
    Нет в наличии
  2. 2
    Маркер синий тонкийAB-1200 · Начало артикула
    В наличии

В этом примере поиск сравнивает код и слова названия. Опечатки, синонимы и словоформы не обрабатываются.

Учебный пример с вымышленными данными.

Найти подходящие товары — половина работы

Список кандидатов и порядок в этом списке — две разные настройки. Можно правильно найти все нужные товары, а затем спрятать точное совпадение на второй странице из-за сортировки по популярности или наличию.

В рабочем проекте запрос складывается из нескольких условий: точный код, нормализованный артикул, начало кода, фраза в названии, все слова запроса, сочетание бренда и названия. У условий разные веса. Это позволяет не сводить весь поиск к проверке «содержит ли карточка такую строку».

Дальше вмешиваются правила каталога. Товар бывает в наличии, ожидается к поступлению или доступен под заказ. Если наличие поставлено выше поискового совпадения, похожая позиция со склада может обойти точную позицию под заказ. Такое поведение нельзя исправить одним увеличением веса артикула: нужно обсуждать сам порядок сортировки.

Я бы проверял этот выбор на конкретной паре товаров и конкретном запросе. Разговор «сделайте поиск релевантнее» быстро становится спором о вкусах. Разговор «по этому коду вот эта позиция должна стоять выше вот той» уже можно превратить в правило и проверку.

Опечатки полезно прощать. Коды — осторожно

В слове «маркер» одна пропущенная буква почти наверняка означает опечатку. В артикуле замена последней цифры может означать другой цвет, размер или упаковку. Поэтому приблизительное совпадение нельзя бездумно применять ко всем полям.

Для текстового запроса пригодятся поиск с опечатками и словарь синонимов. Но синонимы тоже нуждаются в границах. Два слова могут быть взаимозаменяемы в разговоре и обозначать разные группы товаров в каталоге. Проверять их должен человек, который знает ассортимент.

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

Для покупателя здесь полезна простая ясность. Если точного кода нет, лучше прямо это сказать и отдельно предложить похожие варианты. Иначе человек может принять рекомендацию за точный ответ и заказать другую позицию.

Как проверять поиск до жалоб покупателей

Начните с небольшой таблицы запросов. Для каждого укажите ожидаемый товар или группу и объясните, что будет ошибкой. В неё стоит включить и запросы менеджеров: они обычно знают, где покупатели путают названия и какие коды копируют из документов.

Проверяйте не только удачные совпадения. Нужны отсутствующий артикул, опечатка, пустая строка, короткий префикс, товар без остатка и два почти одинаковых названия. Отдельно проверьте изменение запроса после выбора фильтров: старый фильтр не должен незаметно делать новый поиск бесполезным.

После изменения весов прогоняйте ту же подборку целиком. Исправление одного запроса иногда ухудшает пять других. Без общего списка это обнаруживается случайно, а обсуждение начинается заново.

  • Полный код: нужный товар легко заметить, соседний код его не подменяет.
  • Часть кода: показано подходящее семейство, а не случайное вхождение цифр в описании.
  • Название: дополнительные слова в карточке не мешают найти нужную группу.
  • Опечатка: исправление помогает текстовому запросу и не выдаётся за точный артикул.
  • Наличие: порядок товаров соответствует выбранному правилу магазина.
  • Нет результата: видно, что именно не найдено и как продолжить поиск.

С чего начать, если поиск уже работает плохо

Сначала соберите примеры. Десяток понятных неудачных запросов полезнее пожелания заменить поисковый движок. Затем проверьте сами данные: есть ли артикулы, не склеены ли в одном поле название и служебные пометки, одинаково ли записаны характеристики.

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

Отдельный поисковый движок становится полезен, когда требуются сложное ранжирование, работа с текстом и быстрые пересчёты фильтров. Но правила всё равно придётся описать. Хороший первый результат работы — понятная таблица сценариев и выдача, которую можно объяснить покупателю и менеджеру.

Следующий шаг

Покупатели не находят нужные товары?

Пришлите несколько запросов и покажите, какой результат вы ожидали. С этого можно начать разбор поиска в вашем каталоге.

Обсудить поиск

По теме

Другие материалы