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

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

681
11.11.2017

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

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

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

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

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

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



Благодарю за внимание! Делитесь вашими замечаниями в комментариях ниже.


P.S. Обращайтесь ко мне за приобретением лицензий и продлений на 1C-Битрикс "Управление сайтом", лицензий на облачную и коробочную версии Битрикс 24 а также за приобретением и внедрением готовых решений на базе 1С-Битрикс от партнеров. За более подробной информацией свяжитесь со мной любым удобным для вас способом


Комментарии

Еще никто не комментировал данную публикацию. Будьте первыми!

Добавить комментарий

captcha

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