Modular search for Django
Python Other
Latest commit 99e5a10 Jul 12, 2016 @acdha acdha Tests: accept Solr/ES config from environment
This makes it easy to override these values for e.g. running test
instances using Docker images with something like this:

TEST_ELASTICSEARCH_1_URL="http://$(docker port elasticsearch-1.7 9200/tcp)/" TEST_SOLR_URL="http://$(docker port solr-6 8983/tcp)/solr/" test_haystack/

See #1408



Author: Daniel Lindsley
Date: 2013/07/28

Haystack provides modular search for Django. It features a unified, familiar API that allows you to plug in different search backends (such as Solr, Elasticsearch, Whoosh, Xapian, etc.) without having to modify your code.

Haystack is BSD licensed, plays nicely with third-party app without needing to modify the source and supports advanced features like faceting, More Like This, highlighting, spatial search and spelling suggestions.

You can find more information at

Getting Help

There is a mailing list ( available for general discussion and an IRC channel (#haystack on


See the changelog

Build Status


Haystack has a relatively easily-met set of requirements.

Additionally, each backend has its own requirements. You should refer to for more details.