Better Local Settings — January 5, 2010

A common convention I've seen in the Django community is to place code like the following at the bottom of your settings file: # ``settings.py`` # Lots of typical settings here. # ... then ... try: from local_settings ... [Read More]

Haystack 1.0 Final Released

Haystack 1.0.0-final has been released (via the packages at PyPi or GitHub). You can also install it via ``sudo pip install django-haystack`` or via git from GitHub.

The goal of Haystack is to provide modular search for Django. This means pluggable backends (Solr, Whoosh & Xapian currently), a reusable app architecture, the ability to add search to third-party modules without modifying their sources and a flexible codebase with many points of extension. The crown jewel is the ``SearchQuerySet``, which provides a ``QuerySet``-like interface to your search index. Included with the main install is everything needed to get basic search up and running in short order and yet powerful enough to provide search to some decent-sized sites. And there's a fair amount of documentation available.

As with Django, Haystack will attempt to remain backward-compatible for the duration of the 1.X series, though there are no guarantees on this. Should a backward-incompatible change come up, I will post full disclosure on the changes on the mailing list as well as the commit itself.

Some fun facts about Haystack's development:

  • 315 days in development (from first commit to 1.0-final).
  • 420 public commits with another 100 or so that were squashed.
  • 27 people in AUTHORS.
  • 3 complete backends.
  • 121 closed issues.

It's been a long ride, especially given I thought I was going to be ready to mark it as 1.0 many months sooner. And there are some good features lined up for 1.1, which I'll be starting on shortly. It's been exciting and I'm looking forward to what's next. A big thanks to everyone who contributed bug reports and patches.

Finally, the entire project would've been completely impossible without the support of my wife Moriah, who graciously accepted the many (late) hours I put into Haystack and did lots of editing for me in both the documentation and mailing list posts.

8 Comments

I've started playing with the Solr backend on a few personal projects, e.g. http://letshavesomecommonsense.com/search/?q=ban&models=policies.policy. With Haystack I can now add searches to sites in minutes.
Thankyou for all your hard work Daniel!
Thank you for your hard work. It's the best search engine for django i've seen.
Awesome! Haystack is wonderful and we use it in every project!
What about building a Haystack adapter for Postgres 8.3's full text search?

http://www.postgresql.org/docs/8.3/static/textsearch.html

It would certainly make things easy for people who use Postgres.
@Ryan - That's tsearch2. It's been suggested in the past and may be possible in the future but it's not as full featured as the dedicated engines. It's been added as a feature request.
Any chance you could add Sphinx search engine?

It's probably the most commonly used search engine out there.

Thanks for the great work.
Thanks for all your hard work on this, an amazingly easy to use library.
I'd never worked with Haystack before, but I had it up and running in my playground (my personal blog) in about 15 minutes with Xapian.

You guys should be ashamed of yourselves, making it this easy to get up and running. :)

Sorry, comments have been closed on this post.