Как в 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)."%'";
Все остальное стандартно. Подскажите, уже всю голову сломал.
Это при использовании ORM. А в стандартном компоненте поиска по заголовкам там же прямой запрос MySQL и из отдельной таблицы. И опять же есть различия между мнемоническим поиском и нет
1. создайте свойство в инфоблоке, тип строка/html
2. отметьте галочку «Значения свойства участвуют в поиске»,
3. добавьте требуемые словосочетания/поисковые фразы (через пробел) в новое свойство, нужным элементам
4. сделайте переиндексацию в модуле Поиск
Ещё можно задействовать поле «Анонс» у элемента, если оно пустует. Смысл — нужно где-то хранить поисковые фразы + чтобы они индексировались.