Как настроить фасетный поиск для Drupal 8 (и 9) - простое пошаговое руководство
Опубликовано: 2020-11-18Фасетный поиск предлагает пользователям превосходные возможности поиска, отображая фильтры по результатам поиска. Это особенно полезно для веб-сайтов с большими каталогами и списками. После того, как пользователь введет свой поисковый запрос, ему будет представлен список соответствующих параметров фильтра, чтобы еще больше сузить область поиска. Эти фильтрующие элементы являются фасетками.
Ранее Facet API в Drupal 7, модуль Facet в Drupal 8 предоставляет вашему веб-сайту возможности многогранного поиска. Facets также поддерживает Drupal 9! Давайте посмотрим, как настроить и реализовать фасетный поиск с помощью собственного поискового сервера Drupal, Search API.

Что такое фасетный поиск?
Если вашим пользователям трудно увидеть, что они ищут, даже после ввода поискового запроса, они обязательно будут разочарованы. Фасетный поиск предоставляет пользователям одновременно несколько фильтров для различных атрибутов контента. Предоставляемые фасеты основаны на поисковом запросе, выполненном пользователем. Рядом с фасетами также отображается количество совпадающих результатов (обычно в скобках). Давайте посмотрим на этот снимок экрана ниже, чтобы лучше понять аспекты -

В одном из наших недавних проектов Drupal 8 быстрый поиск домов в Колумбии на этом веб-сайте представляет вам такие аспекты, как сообщества, горячие предложения, быстрые заезды и многое другое. Вы также увидите количество результатов рядом с каждым аспектом. Таким образом, запрос с ключевым словом «Колумбия» отправляется на поисковый сервер для получения уже настроенных и проиндексированных категорий (Сообщества, Горячие предложения и т. Д.)
Установка модуля Facets для Drupal 8
Как обсуждалось ранее, мы будем реализовывать фасетный поиск, используя модуль Drupal Search API.
Шаг 1. Включение модулей
Установите и включите эти модули
• Модуль Facet
• Модуль Search API
Шаг 2: Создание типов контента
Создайте контент, который вы хотите включить в фасетный поиск, добавив типы контента, как показано ниже. Вы также можете использовать типы контента по умолчанию, предоставляемые Drupal.

Шаг 3: Настройка поискового сервера
Перейдите в раздел « Конфигурация» -> «Поиск и метаданные» -> «API поиска» в интерфейсе администратора, чтобы настроить поисковый сервер. Дайте имя вашему поисковому серверу (здесь - сервер данных).

Шаг 4: Настройка поискового индекса
Затем настройте индекс поиска, чтобы повысить производительность поиска. Перейдите в Configuration -> Search and metadata -> Search-API -> Index -> data_index .

Шаг 4: Настройка поискового индекса
Дайте имя своему индексу, а затем выберите Контент в качестве источников данных, поскольку мы будем индексировать здесь объекты Контента.
Затем вы можете перейти к следующему разделу - Настройка источника данных (здесь - Контент). Здесь вы можете выбрать все пакеты или только несколько из списка ниже для индексации.
Затем выберите свой сервер, который вы уже создали (здесь - сервер данных). Выберите параметр « Индексировать элементы немедленно », чтобы начать процесс индексирования. Щелкните Сохранить.

Настройка источника данных
Шаг 5: Добавление полей для индексации
Затем нам нужно добавить поля для индексации. Перейдите в Конфигурация -> Поиск и метаданные -> API поиска -> индекс данных и выберите вкладку Поля . Нажмите кнопку « Добавить поля» , чтобы создать поля в соответствии с вашими требованиями.

Шаг 5: Добавление полей для индексации
Шаг 6: Индексирование содержимого
В том же месте щелкните вкладку «Просмотр», чтобы начать процесс индексации вашего контента. В разделе «Начать индексирование сейчас» нажмите кнопку « Индексировать сейчас» . Затем он покажет вам индикатор выполнения со статусом количества проиндексированных элементов.


Шаг 6: проиндексируйте контент
Шаг 7: Создание представления
Теперь мы создадим представление для данных, которые необходимо проиндексировать и отобразить для ваших пользователей. Перейдите в Структура -> Представления -> Добавить представление .

Шаг 7: Создание представления
Дайте имя для представления.
В раскрывающемся списке параметров просмотра выберите индекс, созданный на шаге 4.
Создайте страницу для результатов поиска, установив флажок « Создать страницу» на вкладке «Параметры страницы». Дайте имя и путь к тому же.
В разделе « Элементы для отображения» выберите 0, если вы хотите отобразить все результаты на одной странице. В противном случае выберите количество отображаемых результатов.
В разделе «Параметры отображения страницы» вы можете выбрать формат, в котором вы хотите отображать результаты: таблица, сетка, список HTML или неформатированный список. Мы выбрали здесь Неформатированный список. Щелкните Сохранить.
Шаг 8: Добавление полей в представление
Здесь мы будем добавлять поля, которые мы проиндексировали ранее, в представление.
Перейдите в режим просмотра, нажмите кнопку «Добавить» рядом с разделом «Поля». Выберите поля, нажмите «Добавить и настроить».
В разделе «Параметры рендеринга» установите флажок « Ссылка на содержимое», чтобы отображаемые результаты можно было щелкнуть.
Щелкните Сохранить.

Шаг 8: Добавление полей в представление
Шаг 9: настройка фасетов
Теперь приступим к настройке и включению фасетов. Перейдите в Конфигурация -> Поиск и метаданные -> Фасеты.
Нажмите кнопку «Добавить фасет».

Шаг 9: настройка фасетов
Выберите Facet Source - это будет ваш View, который вы создали ранее.
Выберите поле - отобразятся поля, которые вы добавили для индексации на шаге 5.
Дайте имя Фасету.
Щелкните Сохранить.
Затем вы увидите дополнительные параметры конфигурации для отображения фасетов (как показано на изображении ниже). Виджеты будут отображать ряд опций, таких как Список ссылок, массив, раскрывающийся список и т. Д. Вы можете выбрать то, что лучше всего подходит для вашего сайта.
Выберите «Преобразовать идентификатор объекта в метку», чтобы не отображать имя компьютера для типа контента.
Щелкните Сохранить.

Шаг 10: Размещение блоков Facet в выбранных областях страницы
Затем разместите созданные вами фасеты в виде блоков в выбранной вами области страницы.
Перейдите к структуре -> компоновка блока .
Выберите область страницы, в которой вы хотите разместить блок, содержащий фасеты.
Здесь мы выбираем боковую панель . Нажмите кнопку «Поместить блок» рядом с боковой панелью.
В следующем диалоговом окне найдите имя фасета и нажмите «Поместить блок».

Шаг 10: Размещение блоков Facet в выбранных областях страницы
В разделе «Настроить блок» укажите путь к странице поиска, который вы создали ранее. Здесь - « поиск по сайту » - это наша страница, которую мы создали.
Дайте отображаемое имя для своего блока и установите флажок Отображать заголовок, если вы хотите, чтобы отображалось имя блока (здесь - Тип).
Щелкните Сохранить блок .
Результат
И вот так, ваша страница многогранного поиска и функционал готовы! Обратите внимание на фасет под названием « Тип» (отображаемое имя), в котором основная страница и статья указаны в качестве типов контента для фильтрации.

Результат: страница многогранного поиска
