Сортировка при помощи Facet API и Search API на Drupal 7 часть 1

Небольшой гайд по настройке фасетного поиска на Drupal 7. Во-первых, хотелось бы сказать, что сегодня фасетный поиск дает большие возможности сортировки, особенно при разработке интернет магазинов.

 Немного лирики для тех, кто не совсем понимает что такое фасетный поиск. Это поиск по пересекающимся признакам в различной их комбинации. Это легко продемонстрировать на примере фильтров товара, когда сортировка производится по уникальным признакам товара. Сейчас для Drupal 7 существуют целый  ряд модулей, на основе которых я и буду показывать как сделать фильтр.

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

  1. search_api
  2. facet_api
  3. search_api_ranges
  4. facetapi_pretty_paths
  5. Search API Database Search

Настройка модулей по порядку

Сначала нужно настроить модуль  search_api.

Настраиваем сервер.  Переходим по адресу http://мой_домен/admin/config/search/search_api.  Выбираем вкладку  Add server. Добавляем название сервера и снизу выбираем  Database sеrviсe. На этом настройка сервера и заканчивается.

Настроить какие поля будут индексированы.

настройка страницы индексирования

Для начала нужно из списка серверов выбрать созданный ранее сервер.

выбор сервера

Теперь перейти во вкладку Field, где настраивается какие именно поля будут в участвовать в фасетном поиске. Нужно выбрать и отметить выбранное поле, так же не забудьте выбрать тип отображения.

Тип полей

Типы позволяют в фасете разбивать название поля на несколько слов или читать всё строкой. Для лучшего понимания советую поэкспериментировать.

Настройка фильтров

В настройках фильтров возможно очень тонко настроить фильтрацию. Можно регулярными выражениями "поправить" текст полей сортировки: включить стоп слова  и игнорировать заглавные буквы. С настройками также можно поэкспериментировать.

Убрать заглавные буквы

Настройка фасет 

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

Включение фасет

Осталось настроить каждое поле. По умолчанию доступны: ссылки, чек боксы, слайдер.

Тип виждета сортировки

На этом настройка фасета закончена. Осталось во вкладке views переиндексировать, чтобы обновить индексы.

переиндексация

Вывод фильтров

Фильтры выводятся обычным блоком.

вывод блоков

Важно то, что фильтры будут отображаться только на странице собранной views на основе defаult node index.

Оставить комментарий

Похожие материалы