Используем Apache Solr 8 версии в docksal

ivnish 23 марта в 14:15
1

По умолчанию в docksal используется Solr 4 версии. Есть контейнер с версией 8.1, но мы хотим использовать версию посвежее, хотя бы 8.6

Первое, что нужно сделать, это добавить в файл проекта docksal-local.env или docksal.env:

SOLR_IMAGE='docksal/solr:8-edge'

Затем в файл docksal.yml добавить (или заменить существующее)

 
  solr:
    extends:
      file: ${HOME}/.docksal/stacks/services.yml
      service: solr

После чего запустить проект или сделать fin reset solr для перезапуска контейнера с солром

Далее нужно создать поисковое ядро. Заходим в контейнер

docker exec -ti PROJECTNAME_solr_1 bash

где PROJECTNAME - это имя вашего проекта

Внутри контейнера нужно выполнить команду для создания поискового ядра

solr create -c mycore -n data_driven_schema_configs

где mycore - это имя ядра

Выходим из контейнера (exit)

Затем нужно создать путь .docksal/etc/solr/conf/ и в этот каталог положить файлы, которые предоставляет модуль search_api_solr. Файлы находятся по пути

search_api_solr/jump-start/solr8/config-set/

Нужно этот каталог примонтировать внутрь контейнера. Добавляем в файле docksal.yml к нашей конфигурации солра

    volumes:
      - ${PROJECT_ROOT}/.docksal/etc/solr/conf:/opt/solr/server/solr/mycore/conf

Перезапускаем проект fin project start и проверяем в админке солра http://solr.PROJECTNAME.docksal/solr/ что ваше ядро работает. На вкладке files нужно убедиться, что все файлы присутствуют.

Автор

ivnish Drupal FullStack Developer, модератор drupal.ru