Welcome to Haystack!¶
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 current version of Haystack. For old versions of the documentation:
Getting Started¶
If you’re new to Haystack, you may want to start with these documents to get you up and running:
Advanced Uses¶
Once you’ve got Haystack working, here are some of the more complex features you may want to include in your application.
Reference¶
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:
SearchQuerySetAPISearchIndexAPI- Input Types
SearchFieldAPISearchResultAPISearchQueryAPISearchBackendAPI- Architecture Overview
- Backend Support
- Haystack Settings
HAYSTACK_DEFAULT_OPERATORHAYSTACK_CONNECTIONSHAYSTACK_ROUTERSHAYSTACK_SIGNAL_PROCESSORHAYSTACK_DOCUMENT_FIELDHAYSTACK_SEARCH_RESULTS_PER_PAGEHAYSTACK_CUSTOM_HIGHLIGHTERHAYSTACK_ITERATOR_LOAD_PER_QUERYHAYSTACK_LIMIT_TO_REGISTERED_MODELSHAYSTACK_ID_FIELDHAYSTACK_DJANGO_CT_FIELDHAYSTACK_DJANGO_ID_FIELDHAYSTACK_IDENTIFIER_METHODHAYSTACK_FUZZY_MIN_SIMHAYSTACK_FUZZY_MAX_EXPANSIONS
- Utilities
Developing¶
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:
Requirements¶
Haystack has a relatively easily-met set of requirements.
Python 3.8+
Django 3-5
Additionally, each backend has its own requirements. You should refer to Installing Search Engines for more details.