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.
Note
This documentation represents the development version of Haystack. For old versions of the documentation: 1.2, 1.1.
If you're new to Haystack, you may want to start with these documents to get you up and running:
.. toctree:: :maxdepth: 2 tutorial
.. toctree:: :maxdepth: 1 views_and_forms templatetags glossary management_commands faq who_uses other_apps installing_search_engines debugging migration_from_1_to_2
Once you've got Haystack working, here are some of the more complex features you may want to include in your application.
.. toctree:: :maxdepth: 1 best_practices highlighting faceting autocomplete boost multiple_index rich_content_extraction spatial
If you're an experienced user and are looking for a reference, you may be looking for API documentation and advanced usage as detailed in:
.. toctree:: :maxdepth: 2 searchqueryset_api searchindex_api inputtypes searchfield_api searchresult_api searchquery_api searchbackend_api architecture_overview backend_support settings utils
Finally, if you're looking to help out with the development of Haystack, the following links should help guide you on running tests and creating additional backends:
.. toctree:: :maxdepth: 1 running_tests creating_new_backends
Haystack has a relatively easily-met set of requirements.
- Python 2.5+
- Django 1.2+ (may work on 1.1.2+)
Additionally, each backend has its own requirements. You should refer to :doc:`installing_search_engines` for more details.