Install
Works with Drupal: ^9.3 || ^10.0Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
Search API Solr 4.x is the unified release that supports Drupal 9 and 10 in combination with a wide range of Solr versions.
The big changes in 4.x compared to 3.x:
- semantic versioning
- compatible to Drupal 9.x
- We upgraded to solarium 6.2 and therefore require at least PHP 7.3
- basic support for selected older Solr versions between 3.6 and 5.5 via the new search_api_solr_legacy sub-module
- jump-start Solr config-sets you could simply copy and deploy on you're Solr sever to create a core or a collection
- Automated configset upload and collection creation for Solr Cloud using the search_api_solr_admin sub-module
Like Search API Solr Search 8.x-3.x, it supports upgrade paths from any previous 8.x version including Search API Solr Multilingual 8.x-1.x!
BTW there's a new user contributed documentation: https://www.drupal.org/docs/8/modules/search-api-solr
The big changes in 3.x compared to 2.x:
- We collapsed the features of the Standard Backend, both Multilingual Backends and the "Any Schema" Backend into a one new unified Solr Backend. There's a migration path :-)
- Mulitisite is back! Select "Clone for Multisite" in an Index' operations, save the Clone Form, export the cloned index config (and probably the server config), deploy the config to a different site, configure a search View as usual, enjoy! ;-)
- Spellchecking is now configurable like Suggesters. Use the standard filed configuration to decide which fields should feed the spellcheck catalog
- We now distinguish between NGram and EdgeNGram. Both field types are fully configurable via Drupal config files.
- Solr 7/8 compatible implementation of index time boosting of terms and documents
- Configurable MoreLikeThis parameters per index
- Support for Solr Cloud exclusive features
The big changes in 3.x compared to 1.x:
- The module doesn't include ready to use Solr config-sets anymore! These were too limited for the changes mentioned above. In 3.x the config-sets will be "generated" individually for your site. See
- Native support for Solr Cloud
- Multingual
Important: Since solarium 5.0 and later supports Solr v2 API, the connector settings need to be adjusted when updating from Search API Solr 1.x or 2.x! The "path" must not end with "/solr" but "/" without "solr" because that is the v1 API endpoint!
Your existing configs will be adjusted automatically via an update hook implementation. But if you've overwritten the connection settings (for example in settings.php) you must adjust the path by yourself!
Important: You need to update your Solr config files if you update from any previous version! After deploying the config set to your Solr server(s) you need to re-index your content!
Important: You might need to adjust the solrcore.properties file to your needs. If you get errors about missing classes you should adjust the solr.install.dir.
The recommended way to install this module properly is the usage of composer!
To install the module including its dependencies simply change into your drupal directory and run composer require drupal/search_api_solr:^4.2.
But if you just download the module it won't work because the required external libraries are not part of this package!
Upgrade path for Search API Multilingual Solr Search 8.x-1.x
You should NOT upgrade to Search API Solr 8.x-2.x or 8.x-3.x first! Just directly upgrade to 4.2.x.
Changes since 4.2.10:
- #3361303: Make "Default Solr collection" field required, possibly add default value by mkalkbrenner, ressa
- #3345712: return type of getMoreLikeThisQuery() has an incorrect namespace by Rhezios, mkalkbrenner
- #3338311: Disabled servers are reported as disconnected and enabled servers aren't checked by Kingdutch, mkalkbrenner
- #3326515: "can not use FieldCache on multivalued field" error when using boost recent dates processor by Finn Lewis, Gertlor, mkalkbrenner
- #3347486: Error in search_api_solr_defaults_post_update_uninstall_module: ModuleInstaller::uninstall(): Argument #1 ($module_list) must be of type array, string given by edmargomes, mkalkbrenner
- #3366971: Keep PHP 7.4 compatibility for Drupal 9.5 by mkalkbrenner
- #3344097: Solarium insists distances be integers and search_api_solr casts them as floats by mariacha1, Hebl, rbrownell, mkalkbrenner
- #3366971: Keep PHP 7.4 compatibility for Drupal 9.5 by mkalkbrenner
- #3366966: Keep PHP 8.0 compatibility for Drupal 9.5 by mkalkbrenner
- #3366856: java.util.zip.ZipException with zipstream-php v3.0.x by mkalkbrenner
- #3345616: Fix SolrDocument::loadMultiple() by drunken monkey, mkalkbrenner
- #3350734: FlattenGraphFilter is required when using WordDelimiterGraphFilter by agentrickard, mkalkbrenner
- #3362371: TypeError: reset(): Argument #1 ($array) must be of type array, null given in reset() by bendale, mkalkbrenner
- #3358293: PHP 8.2 compatibility by Rajeshreeputra, ankitv18, sakthi_dev, mkalkbrenner
- #3366497: addHeaderInfo() has been removed from solarium 6.3.0 by mkalkbrenner
- #3365969: Fix [warning] Undefined array key "pipe" when exporting config by ressa, mkalkbrenner
- #3360754: Upgrade dependencies for Drupal 10.1 compatibility, use zipstream-php 3.0 by mkalkbrenner
- #3359631: Extracting of text field values fails for Search API fallback languages by mkalkbrenner
- #3340485: Restructure hook_cron by mkalkbrenner
- #3339956: Solr disabled server timeout on cron by mialdi98, mkalkbrenner
- #3338952: Utility::ensureLanguageCondition() must not return an empty array by mkalkbrenner
- #3338682: Add a unique values processor for multi-valued fields by mkalkbrenner
- #3328996: Fix the issues reported by phpcs by sahil.goyal, mkalkbrenner, irfan.gul