Skip to content

Solr#

Standard use#

For Solr 5.5, 6.6 and 7.7, we ship the default schema files provided by the search_api_solr Drupal module. Add the Solr version you would like to use in your docker-compose.yml file, following our example.

Custom schema#

To implement schema customizations for Solr in your project, look to how Lagoon creates our standard images.

  • In the solr section of your docker-compose.yml file, replace image: amazeeio/solr:7.7 with:
docker-compose.yml
  build:
    context: .
    dockerfile: solr.dockerfile
  • Place your schema files in your code repository. We typically like to use .lagoon/solr.
  • Create a solr.dockerfile.
solr.dockerfile
FROM amazeeio/solr:7.7

COPY .lagoon/solr /solr-conf/conf

RUN precreate-core drupal /solr-conf

CMD ["solr-foreground"]

The goal is to have your Solr configuration files exist at /solr-conf/conf in the image you are building.

Multiple cores#

To implement multiple cores, you will also need to ship your own Solr schema as above. The only change needed is to the CMD of the Dockerfile - repeat the pattern of precreate-core corename /solr-conf/ ; for each core you require.

solr.dockerfile
FROM amazeeio/solr:7.7-drupal

RUN precreate-core drupal-index1 /solr-conf && \
    precreate-core drupal-index2 /solr-conf && \
    precreate-core drupal-index3 /solr-conf

CMD ["solr-foreground"]