Клуб Яндекс.Поиска для сайта

Хочу на свой сайт установить поиск (Битрикс)

На сайте есть каталог с товарами, мне необходим поиск по всему каталогу, по всем полям (название, описание, каталожный номер), а также нужен ещё один поиск, в открывшейся категории товаров, чтобы искал только в той категории, которую в данный момент открыл...

Реально ли так сделать?

8 комментариев
Дмитрий Вульбрун
28 января 2016, 00:57

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

Можете воспользоваться инструментом "Уточнения" для ограничения области поиска в разделах. Для того, чтобы в форме поиска уточнение было установлено по-умолчанию, можно в коде формы поиска добавить среди указанных по умолчанию JS параметр 'constraintid': 'АЙДИ_УТОЧНЕНИЯ'. ID уточнения узнать так: выбираете уточнение на странице поиска и смотрите в урл вашей страницы. Там будет указан dgi-параметр &constraintid=, это и есть айди вашего уточнения.

простой поиск по всему каталогу товаров думаю это не проблема, мне как раз хотелось реализовать поиск внутри категории каталога

Дмитрий Вульбрун
28 января 2016, 00:57

Ну категории у вас можно отличить друг от друга по урлу? Например, site.ru/catalog/razdel1 и site.ru/catalog/razdel2.

да, именно так...

но фактически site.ru/catalog/razdel1 этой папки нет, в папке /catalog/ на самом деле пусто, /razdel1/, /razdel2/ - формируются динамически

Дмитрий Вульбрун
28 января 2016, 00:57

Главное тут не то, что в /catalog/ по сути ничего нет. Для поиска /catalog/ будет являтсья просто маской урла. То есть он будет искать во всех документах, адрес которого начинается с site.ru/catalog/. или с site.ru/catalog/razdel1 - в зависимости от того, что вы напишете в качестве адреса раздела в настройке Уточнений.

а как тогда сделать чтобы он искал только в? site.ru/catalog/razdel1/podrazdel1 или site.ru/catalog/razdel3/podrazdel5

Дмитрий Вульбрун
28 января 2016, 00:57

Ну для начала вы создаете уточнения по разделам сайта:
site.ru/catalog/razdel1/podrazdel1
site.ru/catalog/razdel1/podrazdel2
и так далее.

Затем вы пробуете каждое уточнение включить на поиске. Смотрите в получившийся урл документа, берете оттуда значение cgi-параметра &constraintid=. Допустим, для уточнения site.ru/catalog/razdel1/podrazdel1 это будет &constraintid=10. В код формы поиска, которая будет отображаться именно в подразделе 1 раздела 1, вы прописываете JavaScript параметр 'constraintid': '10'. Для остальных параметров - то же самое. Получается, что когда пользователь зашел в нужных раздел сайта, и воспользовался в нем формой поиска, то уточнение именно по этому разделу будет выставлено по-умолчанию в процессе поиска. То есть по-умолчанию пользователь будет видеть результаты поиска именно в данном разделе.