Рейтинг: 0  
На голосовании
Предложил Кирсанов Анатолий 05.04.2018 22:19:55

Нужно нормальное совмещение поиска и фильтрации

За все эти годы ничего не изменилось. Смотрел в последний раз в components/bitrix/catalog/templates/.default/bitrix/catalog.search/.default/template.php от iblock 17.5.4.

Выполняется поиск в два шага:
  1. bitrix:search.page
  2. bitrix:catalog.section

Это ненормально. Причины всего-то две:
  1. Техническая: странно собирать ИД-шки элементов, чтобы потом использовать их для второй выборки уже не из поискового индекса, а из инфоблока.
  2. Функционал: пользователи давно ждут подсветки поисковых фраз в результатах поиска, но при таком подходе ее не будет в принципе.

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

Давно уже пора научить Битрикс делать один запрос (поиск и фильтрация одновременно, учитывая фасетный индекс, если ищем по инфоблокам). Также давно пора (1С УТ такое умеет, к примеру) делать подсветку того, что искал пользователь. Так интуитивно проще оценивать релевантность.
Рейтинг: 4.3079  
На голосовании
Предложил Коледаев Александр 02.03.2017 13:36:59

Релевантный поиск по каталогу

До сих пор в БУС нет адекватного поиска по каталогу!!!
Существующий компонент "поиск по каталогу" выдает результаты не отсортированные по релевантности запроса, в итоге искомый "винт" может оказаться либо на последних страницах либо вообще отсутствовать в выдаче, т.к. результаты показываются компонентом "catalog.section".
Любому магазину с большим ассортиментом нужен примерно такой поиск
Рейтинг: 2.536  
Новая
Предложил Коледаев Александр 02.03.2017 08:05:10

Релевантный поиск по каталогу

До сих пор в БУС нет адекватного поиска по каталогу!!!
Существующий компонент "поиск по каталогу" выдает результаты не отсортированные по релевантности запроса, в итоге искомый "винт" может оказаться либо на последних страницах либо вообще отсутствовать в выдаче, т.к. результаты показываются компонентом "catalog.section".
Любому магазину с большим ассортиментом нужен примерно такой поиск
Рейтинг: -0.5182  
На голосовании
Предложил Сбитнев Николай 08.10.2014 13:16:59

Автоподставление символов

Например, поисковые фразы:

1. Бинокль 10х25
В этом запросе х-написана кирилицей

2. Бинокль 10x25
В этом запросе x-написана латиницей

В итоге поисковая выдача различается.

Необходимо, что-бы поиск вне зависимости от набранного знака «х», выводил одни и теже результаты (т.е. все бинокли, содержащие параметры 10х25).
Рейтинг: 42.864  
Новая
Предложил Плотников Александр 11.08.2014 11:55:30

Релевантный поиск по каталогу. Компонент catalog.search

Сейчас нет возможности получить релевантный результат поиска по каталогу, если использовать компонент catalog.search. Т.е. пользователь при поиске по запросу "Мясо" может получит несколько страниц с товарами, где есть в описание слова "Мясо", а потом уж сам товар с название "Мясо".

Почему так происходит?
 Своей особой логики по сути у компонента  catalog.search в файле component.php нету. Шаблон компонент состоит из search.page в связке с catalog.section. search.page формирует массив $arElements состоящий из ID элементов отсортированных по релевантности и передает в catalog.section.

Проблема состоит в том, что catalog.section сортирует массив данных по своим правилам из параметров ELEMENT_SORT_FIELD и ELEMENT_SORT_FIELD2, где исходная сортировка не учитывается. Корректная сортировка  данных в result_modifier.php возможно только, когда нету разбиения на страницы данных.

Если посмотреть компонент catalog.section, то он основан на CIBlockElement::GetList функции.

Чтобы решить проблему нужно добавить в новый тип сортировки (на пример default)  в функции CIBlockElement::GetList, чтобы получить релевантный поиск, т.е. чтобы входной массив ID элементов и задав сортировку элементов.
Или переработать этот компонент, чтобы была возможность получить релевантные данные поиска.