/django-haystack

Modular search for Django

Primary LanguagePythonOtherNOASSERTION

What is different from the original repo:

  1. Support for ordering from searches in the admin panel (this is not stable).
  2. Expects a string config param HAYSTACK_ADMIN_DEFAULT_ORDER_BY_FIELD in the admin that defines the name of the field that is storing your objects's pk. Queryset will be ordered_by accordingly.
  3. Account for filters in the admin panel searches.
  4. Solves [this issue](http://stackoverflow.com/questions/20430449/django-haystack-edgengramfield-given-different-results-than-elasticsearch) by setting "analyser": 'standard' as suggested. A boolean config param SET_ANALYZE_STANDARD_FOR_HAYSTACK_SEARCH is used to control the behaviour.
  5. Accepts age in "minutes" instead of "hours" as an argument for "update_index" command.
  6. Added AutoPrepareTextIndexMixin and StandardAnalyzerElasticSearchEngine
  7. Expects an optional string config param HAYSTACK_DJANGO_DEFAULT_DB_CONNECTION_NAME in settings that defines the name of the database to read data from (helpful in case of master-slave configurations)

Haystack

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 http://haystacksearch.org/.

Getting Help

There is a mailing list (http://groups.google.com/group/django-haystack/) available for general discussion and an IRC channel (#haystack on irc.freenode.net).

Documentation

See the changelog

Build Status

https://travis-ci.org/django-haystack/django-haystack.svg?branch=master

Requirements

Haystack has a relatively easily-met set of requirements.

Additionally, each backend has its own requirements. You should refer to http://django-haystack.readthedocs.org/en/latest/installing_search_engines.html for more details.