Если нужно искать по части слова

Если перед вами стоит задача искать по части слова, но стандартные компоненты поиска вам не помогают и никакие настройки с морфологическим поиском не проходят, значит нужно произвести небольшую кастомизацию компонентов поиска.

Для начала выносим компонент в свое пространство имен. Далее, перед вызовом обработки поискового запроса:

$obSearch = new CSearch;
$obSearch->Search(array(
   "QUERY" => $q
    ...
));

нужно произвести замену двойных кавычек, т.к. запрос в двойных кавычках интерпретируется как поиск по подстроке:

$q=preg_replace('/(\S+)/', '"\\1"',$q);

Вот такая конструкция позволит вам настроить поиск не по целому слову, а по части слова в соответствии с настройками морфологического поиска.

Количество показов: 6833
11.11.2017

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.