Solr
Supported versions¶
Following versions can be used:
- 8.11
- 7.7
- 6.6
- 5.5
Dropsolid Experience Cloud only supports certain versions
Dropsolid Experience Cloud supports Solr 8 (8.11.1
).
Existing cores on Solr 5, 6 and 7 are still active, but new cores can't be requested.
Base image¶
Launchpad uses a custom image based on the offical solr docker images.
Custom builds are needed for arm support.
Usage¶
Solr support can be enabled by passing the --solr
service flag when starting up a project.
With the --solr_version
service setting you can specify the version.
Services and service settings can also be specified in a .dlp.yml
file.
See project configuration for more info.
Endpoints¶
You can access the Solr admin UI via https://solr.<project>.docker.localhost:444/
Configuration¶
By default Launchpad provides the necessery config and environment variables to work out of the box.
A core with the project name is created.
Populate the config of the default core on project start¶
If the Solr configuration info is available in [PROJECT_ROOT]/etc/solr
directory of the project, the default core will be pre populated.
Add a core¶
This can be done through the Solr admin UI.
There is no Launchpad functionality to specify extra cores.
Remove a core¶
This can be done through the Solr admin UI.
Configure Search API Solr in Drupal¶
-
When using Search API Solr 8.x-2.x or higher, don't copy the default config from the
solr-conf-templates
folders, but use the generated config instead.
See the readme how you can do this with the UI or drush. -
When using Search API Solr 8.x-2.x or higher, don't forget to set
solr.install.dir
value to../../../..
See here and here for documention.
Prune all solr data and config¶
If somehow you can't delete or update the config of a core through the Solr admin UI, you can manually remove the stored data.
- stop the project
- remove
[PROJECT_ROOT]/.docker-data/solr
- start the project again
Assumptions¶
The machine name of the solr server is the name of your project.¶
If this isn't the case, copy the snippet from docroot/sites/default/settings.php
to etc/drupal/settings_local.php
.
D7¶
This also assumes search_api_solr_overrides module is used and enabled to allow solr config per env.
Replace the highlighted [PROJECT_NAME]
(only that one) with the machine name of your solr server.
<?php
// Launchpad Solr config
$conf['search_api_solr_overrides'] = [
'[PROJECT_NAME]' => [
'name' => '[PROJECT_NAME] (Overridden)',
'options' => [
'host' => "solr.[PROJECT_NAME]-docker",
'port' => 8983,
'path' => '/solr',
'core' => "[PROJECT_NAME]",
],
],
];
D8¶
Replace the [PROJECT_NAME]
on the first level of the array (only that one) with the machine name of your solr server.
<?php
// Launchpad Solr config
$config['search_api.server.[PROJECT_NAME]']['backend_config']['connector_config']['host'] = "solr.[PROJECT_NAME]-docker";
$config['search_api.server.[PROJECT_NAME]']['backend_config']['connector_config']['path'] = "/solr";
$config['search_api.server.[PROJECT_NAME]']['backend_config']['connector_config']['core'] = "[PROJECT_NAME]";