Налаштування повнотекстового пошуку 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування повнотекстового пошуку 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування повнотекстового пошуку для Bitrix CMS

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

Як влаштований пошук у Bitrix

Модуль 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'],
    ],
]);

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

Bitrix використовує вбудоване стемування для російської мови. При увімкненій морфології запит "червоні сукні" знайде "червону сукню" та "червоне сукно". Морфологічний індекс будується в 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 днів.