search_api_solr
This module provides a Apache Solr backend for the Search API module.
It provides a great performance, and is suitable even for use on large commercial websites and supports facets and multi-index searches. Multilingual content is handled correctly by design.
Search API Solr supports a wide range of Solr versions from 3.6 to 9.
Ensure to read README.md before you start!
Search API Solr is a feature complete backend for Search API. Furthermore, it provides additional and advanced features:
- Solr Log as fast, powerful and feature-rich replacement for Drupal's DB Log
- Solr Streaming Expressions
- Solr Admin to create and administer Solr collections
- Location Search
- Natural language processing (NLP)
- Part-of-speech tagging (POS)
- ...
Supported Solr Versions
Search API Solr supports any Solr version from 3.6 to 9.x. Solr 7.x to 9.x are directly supported by the module itself, earlier versions from 3.6 to 6.x require enabling the included search_api_solr_legacy sub-module.
Solr 10.x support will require some work and will be added sooner or later (sponsors are welcome).
Do you need help?
Community support is provided via
Some maintainers provide support or custom development as paid service.
Patches and Issues Workflow
Our test suite includes integration tests that require a real Solr server. This
requirement can't be provided by the drupal.org test infrastructure.
Therefore we leverage GitHub actions for our tests and had to establish a more complex workflow:
- open an issue on drupal.org as usual
- upload the patch for being reviewed to that issue on drupal.org as usual
- fork https://github.com/mkalkbrenner/search_api_solr
- apply your patch and file a PR on GitHub
- add a link to the GitHub PR to the drupal.org issue
The PR on github will automatically tested by GitHub actions and the test results will be reflected in the PR conversation.
Common Requirements
Requirements are:
- The Search API module, of course.
- An Apache Solr server which can be individually configured (or has a configuration compatible with this module).
If you do not want to or cannot install your own Solr server, there are a number of web Solr hosts which are more or less compatible with the Search API (either because they have it as an option, or they allow uploading custom configurations). Some of them are:
- Hosted Apache Solr
- Websolr
- gotosolr
- Hosted Solr
- Opensolr
- NodeFactor
- Acquia Search
- Wodby
- SearchStax
- AltaGrade (full-stack web hosting, Cloud and Dedicated offers include Solr)
(This is a free information service, We do not endorse any of these products. If you want your Solr hosting service to be listed here, please contact drunken monkey or mkalkbrenner.)
Some of the Solr hosting services above could be leveraged using the default connectors this module provides. But in most cases only a subset of the entire Solr API is accessible so it might lead to error messages or warnings, for example in the Drupal status report page. Therefore, some provide their own connector plugins for Search API Solr, especially if they use different authentication methods that aren't support out-of-the-box or for a deeper or easier integration in general:
Local Development
There are different solutions for local Drupal development and how to integrate Solr with it.
The DDEV add-on is maintained by mkalkbrenner and well tested: https://github.com/mkalkbrenner/ddev-solr