Настройка полнотекстового поиска 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка полнотекстового поиска 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка полнотекстового поиска 1С-Битрикс

Поиск по сайту в Битрикс работает через модуль search. При первоначальной настройке поиск либо не находит ничего (индекс не построен), либо находит всё подряд включая служебные страницы, либо работает медленно на больших объёмах контента.

Как устроен поиск в Битрикс

Модуль search строит полнотекстовый индекс в таблицах:

  • b_search_content — проиндексированный контент (заголовки, теги, тело)
  • b_search_content_stem — стем-индекс (корни слов для морфологии)
  • b_search_tag — теги для поиска

Индексация происходит автоматически при сохранении элементов (инфоблоков, страниц) через обработчик события OnSearchIndex. Принудительная переиндексация — через административный раздел или агент.

Настройка источников поиска

Настройки → Поиск → Настройки модуля:

  • Сохранять историю поиска — полезно для аналитики
  • Морфология — включить для поиска по словоформам («купить», «купил», «покупка»)
  • Символы в индексе — минимальная длина слова для индексации (рекомендуется 3)

Настройка индексируемых источников (Настройки → Поиск → Переиндексация):

  • Выбрать инфоблоки для индексации
  • Указать, какие свойства индексировать
  • Исключить технические страницы и служебный контент

Компонент поиска

$APPLICATION->IncludeComponent('bitrix:search.page', '', [
    'SITE_ID'          => 's1',
    'SEARCH_CACHE_TIME' => 3600,
    'DEFAULT_WORD'     => '',
    'MINIMAL_QUERY_LEN' => 3,
    'USE_SUGGEST'      => 'Y', // подсказки при вводе
    'arrFILTER'        => [    // источники для поиска
        ['MODULE_ID' => 'iblock', 'PARAM1' => 'catalog', 'PARAM2' => 5],
        ['MODULE_ID' => 'iblock', 'PARAM1' => 'content'],
    ],
]);

Морфология и релевантность

Битрикс использует встроенный стемминг для русского языка. При включённой морфологии запрос «красные платья» найдёт «красное платье» и «красный платья». Морфологический индекс строится в b_search_content_stem.

Релевантность результатов управляется весами:

  • Слово в заголовке — высокий вес
  • Слово в теле — средний вес
  • Слово в теге — средний вес

Настройки весов: b_search_content.PARAM1 хранит дополнительные параметры источника.

Переиндексация и производительность

При большом каталоге (50 000+ товаров) полная переиндексация занимает значительное время. Решение:

  • Использовать инкрементальную индексацию (только изменённые элементы)
  • Разбить переиндексацию на порции через агент
  • Для высоконагруженных проектов — перейти на внешнее решение (Elasticsearch + кастомный модуль)

Мониторинг состояния индекса:

$rsSearch = CSearch::GetList('s1', ['SITE_ID' => 's1'], false, ['nTopCount' => 1]);
// Дата последнего обновления индекса

Сроки выполнения

Базовая настройка поиска с индексацией каталога и контента — 2–4 часа. Тонкая настройка морфологии, весов и исключений — 4–8 часов. Интеграция с Elasticsearch — 2–5 дней.