Бесплатный экспресс-аудит сайта Безопасность, SEO, AI-поиск и 152-ФЗ — отчёт с баллами за минуту Проверить сайт
Обсудить проект

Поиск по артикулу в оптовом магазине на 1С-Битрикс

Оценить статью

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

Почему штатный поиск не справляется

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

Отдельная тонкость: объект запроса в Битриксе доступен только для чтения. Поменять строку поиска «в лоб» нельзя — попытка роняет все страницы поиска с ошибкой сервера, поэтому нормализацию встраивают штатным механизмом фильтров.

Что сделали

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

Результат

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

Статья была полезна?

Оцените первым — так другие читатели поймут, стоит ли читать