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.x, 2.x, 5.X, or 7.X.

Whoosh

Complete & included with Haystack.

  • Full SearchQuerySet support

  • Automatic query building

  • “More Like This” functionality

  • Term Boosting

  • Stored (non-indexed) fields

  • Highlighting

  • Faceting (no queries)

  • Requires: whoosh (2.0.0+)

  • Per-field analyzers

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

Yes (basic)

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.

Sphinx

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.