DARTHARTH

Настройка поиска Solr на Drupal 8

На этот момент у нас на хостинге должен стоять сам сервис Solr 8.5.2 с созданной коллекцией.

Установка модуля

На сайт ставим модуль Search API Solr . На данный момент (22.06.2020) для 8мой версии друпала нормально подошла версия 4.0.1.

После установки модуля включаем его

В некоторых инструкциях отмечено, что нужно включить Search API Solr Search Defaults, таким образом добавятся автоматом шаблонные сервер и индекс Solr, в которых просто стоит поменять настройки. Но у меня включить его не получилось, так как вместо с дефолтными сервером и индексом нужно было добавить дефолтный тип содержимого с определенными полями и вообщем нафиг оно надо. Создадим своё всё.

Создание сервера и индекса поиска

Идём в Search Api и создаем новый сервер, в Backend выбираем Solr и дальше заполняем настройки: Solr Connector — Стандарт, порт у нас стоит наш открытый 8983, Solr core — имя нашей коллекции, которая в админке Solr видна. В принципе остальные настройки нам не нужны. Сохраняемся и после этого нужно будет провести «интересную» операцию — копирование конфигов из плагина сайта в папку конфигов нашей коллекции на хостинге.

По-топорному можно это сделать так:

В списке серверов Search Api, где наш созданный выбираем Get config.zip

Качаем архив и как вариант разархивируем в отдельную папку возле сайта.

После этого подключаемся по ssh и копируем все файлы конфигов из архива в папку var/solr/data/*имя_вашей_коллекции*/conf

После этого идем опять в Search Api и создаем новый индекс, в Datasources выбираем Content, в Configure the Content datasource выбираем тип содержимого с которым будет работать поиск. В пункте Сервер выбираем имя нашего созданного сервера Solr.

На вкладке Поля добавляем собственно поля которые нужны нам в индексации и выводе данных контента. Индексируем все данные.

Создаем представление

Для вывода данных из поиска создаем новое представление, показываем наш созданный индекс, отмечаем галочку «Создать страницу». В настройках отображения выбираем формат «Неформатированный список» из «Готовая к выводу сущность». Последний момент очень важен, потому как через вывод полей ничего не вывелось бы и нам нужна именно сущность.

Типовый рабочий набор представления

В строке Показать: Готовая сущность, жмем на Настроить и выбираем «Поисковый индек»

Стоит отметить, что должно быть выставлено значение «Раскрытая форма в блоке» и в критериях фильтрации наш сам поиск добавляется через «Поиск по тексту». Ниже рабочая настройка этого поиска

Сохраняем.

Настраиваем перечень выводимых полей

И переходим к редактированию нашего типа содержимого, который выводится в поиске. Переходим во вкладку «Управление отображением», спускаемся в самый низ, к расширенным параметрам, и ставим галочку у «Поисковый индекс». У нас появится вкладка с таким же названием и списком всех полей для вывода. Оставляем только те, которым нам нужны, остальные опускам в «Отключены».

Теперь создаем шаблон, который будет выводить эти поля в нужном нам виде на странице поиска. Для этого в папке вашей темы, в директории шаблонов, создаем файл node—*машинное имя вашего типа материала*—search_index.html.twig. Внутри уже делаем нужный ваш шаблон вывода этих самых полей, оставленных выше.

Выводим форму поиска

Переходим в схему блоков и в необходимом месте размещаем наш созданный блок представления с названием Раскрытая форма…

Вот и всё, дальнейшее — прописывание стилей и всех прочих красивостей — индивидуальное дело.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Scroll Up