Уточняющий поиск. Faceted Search

Дата последнего изменения:

Что это такое?


Функция фильтров позволяет показывать и фильтровать товары по определенным условиям: 

  • цене, 
  • категории, 
  • значениям атрибутов, 
  • наличию ключевых слов в названии/описании,
  • по наличию товара в магазине


Это можно использовать как для более умного поиска ("найти все товары со словом 'стул' из категории 'Мебель'"), так и для построения новых динамических страниц магазина - навигация, которая завязана не только на категории ("показать все майки, у которых атрибут Пол=Мужской и цена между 100 руб. и 500 руб.)

Как это работает?


Для использования функции фильтров товаров надо открыть специальный URL - www.example.com/store/#!/~/search/, передав в него определенные параметры. 
С использованием всех параметров фильтрации запрос выглядит примерно так: 

www.example.com/store/#!/~/search/priceTo=:priceto&priceFrom=:pricefrom&category=:categoryid&withSubcategory=:withsubcategoryflag&field[Name]=:param&keywords=:string


При этом не обязательно использовать все-все параметры - достаточно только тех, которые вам нужны. Если указано более одного параметра - они соединяются через AND (в ссылке отображается как &), то есть фильтрация товаров происходит согласно указанным параметрам. 

Список параметров для поиска

  • priceFrom - минимальная цена товара (базовая). Разделитель дробной части - точка. Без символа валюты.
  • priceTo - максимальная цена товара (базовая). Разделитель дробной части - точка. Без символа валюты.
  • category - ID категории, в которой должен быть товар, при необходимости поиска по нескольким категориям, просто перечислите их через запятую
  • withSubcategory - Показывать ли товары из подкатегорий, если был передан параметр category. Возможные значение: true, любое другое значение трактуется как false.
  • fieldName=param,param - Поиск по продуктовым атрибутам. Name - название атрибута (всякие пробелы будут работать). Param - значение атрибута. Несколько значений можно перечислить через запятую - вернется товар если этот атрибут у него выставлен хотя бы в одно значение (соединение через "OR"). Важно - если нужно искать по точному значению атрибута - оберните его в кавычки. Скрытые атрибуты не принимают участие в поиске.
  • field{id}=param[,param] - То же самое как и field[Name], до адресация через ID атрибута, а не имя. Сложнее для построения (надо получить ID через API), но устойчивей к переименованию атрибутов.
  • keywords - поисковая строка - вернется товар, у которого эта строка найдена в названии, описании или некоторых других полях. Это наш привычный - стандартный поиск.
  • inStock - при указании в поисковой строке этого параметра со значением true, отображает все товары в наличии, при отсутствии этого параметра в ссылке, поиск возвращает все товары подходящие под критерии поиска. Если значение параметра false, в результатах будут показываться все товары со статусом "Не в наличии". 

Как со всем этим разобраться?

У вас может возникнуть вопрос - а почему мне нужно вот разбираться с этими URL и параметрами? А может специальный виджет сделать - который будет показывать доступные фильтры и все делать автоматически? 
Виджет это хорошо. Но при разработке этой функциональности мы её специально разделили на две части: 

  • инфраструктура (индексация товаров и атрибутов, спец-поиск ) + доступ "низкого уровня" к функциям фильтрации (через URL) 
  • виджеты, которые используют эту инфраструктуру.

Сейчас мы на первом этапе. Продвинутые продавцы могут уже сейчас использовать эти возможности или обратиться за интеграцией к сторонним девелоперам.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 3 из 10
Остались вопросы?
Обратитесь за помощью
  • Форум

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

  • Связь с техподдержкой

    Есть вопросы? Свяжитесь с нами, мы будем рады вам помочь.

  • Состояние сервиса

    Страница с информацией о запланированных технических работах и текущем состоянии сервиса.