Битрикс: поиск по сайту из коробки и его потолок
Что даёт штатный поиск 1С-Битрикс, как его настроить правильно и в какой момент коробочных возможностей перестаёт хватать каталогу.
Штатный поиск Битрикса умеет больше, чем принято думать, и меньше, чем нужно среднему каталогу. Разберём обе границы, чтобы не платить за то, что уже есть, и не ждать от коробки невозможного.
Что есть из коробки
- полнотекстовый поиск по инфоблокам и разделам сайта;
- морфология русского языка: «погрузчик» находится по «погрузчики»;
- ранжирование по релевантности и по дате;
- ограничение области поиска: только каталог, только новости;
- страница результатов и подсказки при вводе;
- отчёт по поисковым фразам в админке.
Для контентного сайта этого достаточно. Каталог упирается позже, но упирается.
Что настроить в первую очередь
- Переиндексацию. Без неё поиск живёт в прошлом. Настройте регулярное задание, а не ручной запуск.
- Состав индексируемых полей. Свойства товара по умолчанию в индекс не идут, и без них поиск по характеристикам не работает.
- Область поиска. Ограничьте нужными инфоблоками, иначе в выдачу лезут служебные страницы.
- Морфологию. Проверьте, что модуль включён: без него окончания ломают выдачу.
- Исключения. Уберите из индекса корзину, личный кабинет и служебные разделы.
Половина жалоб на «плохой поиск в Битриксе» закрывается этими пятью пунктами.
Где заканчивается коробка
Синонимы. Штатных словарей нет. Разговорные и региональные названия придётся вписывать в свойства товаров руками.
Запросы-задачи. «Чем убрать снег во дворе» — ни одного слова из каталога. Полнотекстовый поиск отвечает пустотой.
Управление выдачей. Поднять товар, задать порядок под акцию, скрыть позицию из поиска — всё это делается доработкой.
Отсечка. Порога «ничего подходящего нет» в привычном виде нет: поиск покажет то, что нашлось хоть как-то.
Скорость на больших каталогах. На десятках тысяч позиций полнотекстовый поиск по базе начинает заметно тормозить, и это лечится вынесением индекса наружу.
Три пути дальше
Доработка на стороне Битрикса. Свои словари синонимов, правила выдачи, доработанный компонент. Дешевле в лицензиях, дороже в поддержке: каждое обновление платформы нужно проверять.
Внешний поисковый движок. Индекс выносится в отдельную систему, Битрикс отдаёт данные. Быстро и масштабируемо, но синонимы и смысл всё равно настраиваются руками.
Внешний сервис умного поиска. Подключается кодом виджета или через API, понимает смысл запроса без словарей, даёт статистику и правила. Дороже абонентски, дешевле по работе.
Выбор определяется тем, чего не хватает: скорости, управляемости или понимания.
Что подготовить перед любым из путей
Все три упираются в одно — качество данных:
- описания назначения у ходовых товаров;
- характеристики отдельными свойствами, а не текстом;
- одинаковые единицы измерения;
- снятые с продажи позиции убраны.
Чек-лист — как подготовить каталог к умному поиску.
Вывод и следующий шаг
Коробочный поиск Битрикса закрывает базовые сценарии, если правильно настроены индексация, морфология и состав полей. Он не понимает смысла запроса и почти не управляется — это и есть его потолок.
Следующий шаг: откройте отчёт по поисковым фразам в админке и выпишите двадцать запросов с нулевым результатом. Они покажут, упираетесь вы в настройку или в устройство поиска.
Частые вопросы
Почему поиск не находит только что добавленный товар?
Индекс не обновился. Проверьте регулярное задание переиндексации.
Ищет ли Битрикс по свойствам товаров?
Только если свойства включены в индексацию. По умолчанию многие из них туда не попадают.
Можно ли завести синонимы штатными средствами?
Отдельного словаря нет. Обходной путь — вписывать варианты названий в отдельное свойство товара.
Замедляет ли поиск сайт?
На больших каталогах — да, поисковые запросы тяжелы для базы. Помогает вынесение индекса во внешний движок.
Совместим ли внешний сервис с Битриксом?
Да, через выгрузку каталога и код виджета. Правки ядра платформы при этом не требуются.
Переживёт ли доработка обновление платформы?
Если сделана без правки ядра — обычно да. Проверять после каждого обновления всё равно нужно.