templates: fix a bug in the next redirect from login page
templates: add a wish lists link to the top of every page
requirements: install requirements for django-haystack + apache-solr backend
settings: install haystack, configure connection to solar
solr: use a custom solr schema.xml template

The version of haystack I'm using doesn't, by default, produce a schema.xml file that is usable with newer versions of solar.  I copied their default template, added the new _version_ field to it, and prepended stopwords_en.txt with lang/ since it now lives below the lang directory.
search: use haystack for searching !!
search forms: allow two character searches

I tried to search for '3d' and was irritated that I could not.
search: remove some now-unused search utilities
search: continue to log all search queries
solr: add a copied 'spell' field to my solar schemas

The spell field is a copy of the text field, but it's defined as type text_general instead of text_en.  The stemming that is performed on the text_en field was resulting in less than stellar spelling suggestions.
views: look for spelling suggestions for poor performing queries

I only display spelling suggestions if the query returns None, but solr is currently configured to return suggestions for query results of size 2 or less.
templates: improve the product search title

previously it was hard to easily tell that these were search results
javascript: check for too many characters in the search box
search: add product specs to the search template
search: add award names to the product search template
views: hack around some weird haystack/solr behaviour

Usually the spelling_suggestion field is a string, but sometimes it is a dict!  WTF?
views: by default sort search results by bestMatch
templates: redirect to home after the user logs out

This is what llbean does.
templates: add in a 'clear search' link the header bar
models: add a 'hits' field to the SearchTerm model

This records how many products were returned for the given search.  Searches that return 0 matches will be of particular interest, I imagine.