@m4son

Как в 1С-Битрикс в модуле bitrix.search.title искать по 2 подстрокам?

Как в 1С-Битрикс в модуле bitrix.search.title искать по 2 подстрокам?

Например: 2 товара - "Термокольцо 120мм" и "Термокольцо 220мм". Если вводить "термокольцо 120", то товар находит, а если "кольцо 20" то нет.

Используется стандартный компонент, поиск через сфинкс, полную переиндексацию делал. Изменили только в классе "CSearchTitle" заменили строку
$s = $sqlWords[] = "ct.WORD like '".$DB->ForSQL($word)."%'";
на
$s = $sqlWords[] = "ct.WORD like '%".$DB->ForSQL($word)."%'";

Все остальное стандартно. Подскажите, уже всю голову сломал.
  • Вопрос задан
  • 361 просмотр
Пригласить эксперта
Ответы на вопрос 2
@7rows
Frontend Разработчик / Vue / JS / TS / CSS
Если коротко, то вот пример
Вам надо использовать фильтр со сложной логикой
https://www.acrit-studio.ru/pantry-programmer/know...
Ответ написан
@KukuRuku
1. создайте свойство в инфоблоке, тип строка/html
2. отметьте галочку «Значения свойства участвуют в поиске»,
3. добавьте требуемые словосочетания/поисковые фразы (через пробел) в новое свойство, нужным элементам
4. сделайте переиндексацию в модуле Поиск

Ещё можно задействовать поле «Анонс» у элемента, если оно пустует. Смысл — нужно где-то хранить поисковые фразы + чтобы они индексировались.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы