Backend Support
Supported Backends
Backend Capabilities
Solr
Complete & included with Haystack.
- Full SearchQuerySet support
- Automatic query building
- “More Like This” functionality
- Term Boosting
- Faceting
- Stored (non-indexed) fields
- Highlighting
- Spatial search
- Requires: pysolr (2.0.13+) & Solr 3.5+
Elasticsearch
Complete & included with Haystack.
- Full SearchQuerySet support
- Automatic query building
- “More Like This” functionality
- Term Boosting
- Faceting (up to 100 facets)
- Stored (non-indexed) fields
- Highlighting
- Spatial search
- Requires: elasticsearch-py > 1.0 & Elasticsearch 1.0+ (Elasticsearch 2.X is not supported yet #1247)
Whoosh
Complete & included with Haystack.
- Full SearchQuerySet support
- Automatic query building
- “More Like This” functionality
- Term Boosting
- Stored (non-indexed) fields
- Highlighting
- Requires: whoosh (2.0.0+)
Xapian
Complete & available as a third-party download.
- Full SearchQuerySet support
- Automatic query building
- “More Like This” functionality
- Term Boosting
- Faceting
- Stored (non-indexed) fields
- Highlighting
- Requires: Xapian 1.0.5+ & python-xapian 1.0.5+
- Backend can be downloaded here: xapian-haystack
Backend Support Matrix
Backend | SearchQuerySet Support | Auto Query Building | More Like This | Term Boost | Faceting | Stored Fields | Highlighting | Spatial |
---|---|---|---|---|---|---|---|---|
Solr | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Elasticsearch | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Whoosh | Yes | Yes | Yes | Yes | No | Yes | Yes | No |
Xapian | Yes | Yes | Yes | Yes | Yes | Yes | Yes (plugin) | No |
Unsupported Backends & Alternatives
If you have a search engine which you would like to see supported in Haystack, the current recommendation is to develop a plugin following the lead of xapian-haystack so that project can be developed and tested independently of the core Haystack release schedule.
This backend has been requested multiple times over the years but does not yet have a volunteer maintainer. If you would like to work on it, please contact the Haystack maintainers so your project can be linked here and, if desired, added to the django-haystack organization on GitHub.
In the meantime, Sphinx users should consider Jorge C. Leitão’s django-sphinxql project.