День добрый!
На сайте написан механизм поиска по товарам, ищет по всему, названию, артикулу, полям..
Настраивали сортировку по релевантности, но результаты нас не удовлетворили, стали разбираться, что к чему.
Ищем "стойка vista"
Выдает вот такой результат:
Он ищет по каждому слову, vista он перефразирует как vdka, vesta и т.д.. нам это не нужно, хотим настроить поиск так, чтобы выдавал конкретные совпадения
В настройках битрикса стоит галочка учитывать морфологический поиск, отключить его тут мы не можем, так как у нас есть еще один сайт (в режиме многосайтовости), на котором функционирует морфологический поиск.
В компоненте поиск устроен следующем образом:
Вот собственно и вопрос, как сделать, чтобы при запросе стойка vista, первыми отображались результаты с точным совпадением? а потом уже словоформы всякие или же вообще их исключить (именно английские слова, с русскими вроде норм).
Пытались отключить при поиске морфологию 'STEMMING' => false результат не меняется.
Подскажите, у кого какие идеи?
Если что-то еще нужно показать, настройки или участок кода, скажите что именно.
На сайте написан механизм поиска по товарам, ищет по всему, названию, артикулу, полям..
Настраивали сортировку по релевантности, но результаты нас не удовлетворили, стали разбираться, что к чему.
Ищем "стойка vista"
Выдает вот такой результат:
Скрытый текст | ||
---|---|---|
|
Он ищет по каждому слову, vista он перефразирует как vdka, vesta и т.д.. нам это не нужно, хотим настроить поиск так, чтобы выдавал конкретные совпадения
В настройках битрикса стоит галочка учитывать морфологический поиск, отключить его тут мы не можем, так как у нас есть еще один сайт (в режиме многосайтовости), на котором функционирует морфологический поиск.
В компоненте поиск устроен следующем образом:
Код |
---|
$query = ltrim($_REQUEST["q"]); CUtil::decodeURIComponent($query); $obTitle = new CSearch; //$aSort = array("RANK"=>"DESC", "TITLE_RANK"=>"DESC"); $aSort = array(); $obTitle->Search( array( 'SITE_ID' => 's1', 'QUERY' => $query, 'MODULE_ID' => 'iblock', 'PARAM1' => 'katalog1c', 'PARAM2' => '23' ), $aSort, array('STEMMING' => false) ); while ($result = $obTitle->GetNext()) { //$arResult["SEARCH"][] = $result['ITEM_ID']; $arResult["SEARCH"][] = $result; } |
Пытались отключить при поиске морфологию 'STEMMING' => false результат не меняется.
Подскажите, у кого какие идеи?
Если что-то еще нужно показать, настройки или участок кода, скажите что именно.