Django-haystack

Latest version: v3.2.1

Safety actively analyzes 627763 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 4

1.2.5

-------------------
- Bumped to v1.2.5! [Daniel Lindsley]
- Fixed a bug with index inheritance. [Daniel Lindsley]

Fields would seem to not obey the MRO while method did. Thanks to ironfroggy for the report!
- Fixed a long-time bug where the Whoosh backend didn't have a ``log``
attribute. [Daniel Lindsley]
- Fixed a bug with Whoosh's edge n-gram support to be consistent with
the implementation in the other engines. [Daniel Lindsley]
- Added tswicegood to AUTHORS. [Daniel Lindsley]
- Fixed the ``clear_index`` management command to respect the ``--site``
option. [Travis Swicegood]
- Removed outdated warning about padding numeric fields. Thanks to
mchaput for pointing this out! [Daniel Lindsley]
- Added a silent failure option to prevent Haystack from suppressing
some failures. [Daniel Lindsley]

This option defaults to ``True`` for compatibility & to prevent cases where lost connections can break reindexes/searches.
- Fixed the simple backend to not throw an exception when handed an
``SQ``. Thanks to diegobz for the report! [Daniel Lindsley]
- Bumped version post-release. [Daniel Lindsley]
- Whoosh now supports More Like This! Requires Whoosh 1.8.4. [Daniel
Lindsley]

1.2.4

-------------------
- Bumped to v1.2.4! [Daniel Lindsley]
- Fixed a bug where the old ``get_queryset`` wouldn't be used during
``update_index``. Thanks to Craig de Stigter & others for the report.
[Daniel Lindsley]
- Bumped to v1.2.3! [Daniel Lindsley]
- Require Whoosh 1.8.3+. It's for your own good. [Daniel Lindsley]

1.2.2

-------------------
- Bumped to v1.2.2! [Daniel Lindsley]
- Added multiprocessing support to ``update_index``! Thanks to
CMGdigital for funding development of this feature. [Daniel Lindsley]
- Fixed a bug where ``set`` couldn't be used with ``__in``. Thanks to
Kronuz for the report! [Daniel Lindsley]
- Added a ``DecimalField``. [Daniel Lindsley]

1.2.1

-------------------
- Bumped to v1.2.1. [Daniel Lindsley]
- Fixed a typo in the autocomplete docs. Thanks to anderso for the
catch! [Daniel Lindsley]
- Fixed a backward-incompatible query syntax change Whoosh introduced
between 1.6.1 & 1.6.2 that causes only one model to appear as though
it is indexed. [Daniel Lindsley]

1.2.0

-------------------
- V1.2.0! [Daniel Lindsley]
- Added ``request`` to the ``FacetedSearchView`` context. Thanks to
dannercustommade for the report! [Daniel Lindsley]
- Fixed the docs on enabling spelling suggestion support in Solr.
[Daniel Lindsley]
- Fixed a bug so that ``ValuesListQuerySet`` now works with the ``__in``
filter. Thanks to jcdyer for the report! [Daniel Lindsley]
- Added the new ``SearchIndex.read_queryset`` bits. [Sam Cooke]
- Changed ``update_index`` so that it warns you if your
``SearchIndex.get_queryset`` returns an unusable object. [Daniel
Lindsley]
- Removed Python 2.3 compat code & bumped requirements for the impending
release. [Daniel Lindsley]
- Added treyhunner to AUTHORS. [Daniel Lindsley]
- Improved the way selected_facets are handled. [Chris Adams]

* ``selected_facets`` may be provided multiple times.
* Facet values are quoted to avoid backend confusion (i.e. `author:Joe Blow` is seen by Solr as `author:Joe AND Blow` rather than the expected `author:"Joe Blow"`)
- Add test for Whoosh field boost. [Trey Hunner]
- Enable field boosting with Whoosh backend. [Trey Hunner]
- Fixed the Solr & Whoosh backends to use the correct ``site`` when
processing results. Thanks to Madan Thangavelu for the original patch!
[Daniel Lindsley]
- Added lukeman to AUTHORS. [Daniel Lindsley]
- Updating Solr download and installation instructions to reference
version 1.4.1 as 1.3.x is no longer available. Fixes 341. [lukeman]
- Revert "Shifted ``handle_registrations`` into ``models.py``." [Daniel
Lindsley]

This seems to be breaking for people, despite working here & passing tests. Back to the drawing board...

This reverts commit 106758f88a9bc5ab7e505be62d385d876fbc52fe.
- Shifted ``handle_registrations`` into ``models.py``. [Daniel Lindsley]

For historical reasons, it was (wrongly) kept & run in ``__init__.py``. This should help fix many people's issues with it running too soon.
- Pulled out ``EmptyResults`` for testing elsewhere. [Daniel Lindsley]
- Fixed a bug where boolean filtering wouldn't work properly on Whoosh.
Thanks to alexrobbins for pointing it out! [Daniel Lindsley]
- Added link to 1.1 version of the docs. [Daniel Lindsley]
- Whoosh 1.8.1 compatibility. [Daniel Lindsley]
- Added TodasLasRecetas to "Who Uses". Thanks Javier! [Daniel Lindsley]
- Added a new method to ``SearchQuerySet`` to allow you to specify a
custom ``result_class`` to use in place of ``SearchResult``. Thanks to
aaronvanderlip for getting me thinking about this! [Daniel Lindsley]
- Added better autocomplete support to Haystack. [Daniel Lindsley]
- Changed ``SearchForm`` to be more permissive of missing form data,
especially when the form is unbound. Thanks to cleifer for pointing
this out! [Daniel Lindsley]
- Ensured that the primary key of the result is a string. Thanks to
gremmie for pointing this out! [Daniel Lindsley]
- Fixed a typo in the tutorial. Thanks to JavierLopezMunoz for pointing
this out! [Daniel Lindsley]
- Added appropriate warnings about ``HAYSTACK_<ENGINE>_PATH`` settings
in the docs. [Daniel Lindsley]
- Added some checks for badly-behaved backends. [Daniel Lindsley]
- Ensure ``use_template`` can't be used with ``MultiValueField``.
[Daniel Lindsley]
- Added n-gram fields for auto-complete style searching. [Daniel
Lindsley]
- Added ``django-celery-haystack`` to the subapp docs. [Daniel Lindsley]
- Fixed the the faceting docs to correctly link to narrowed facets.
Thanks to daveumr for pointing that out! [Daniel Lindsley]
- Updated docs to reflect the ``form_kwargs`` that can be used for
customization. [Daniel Lindsley]
- Whoosh backend now explicitly closes searchers in an attempt to use
fewer file handles. [Daniel Lindsley]
- Changed fields so that ``boost`` is now the parameter of choice over
``weight`` (though ``weight`` has been retained for backward
compatibility). Thanks to many people for the report! [Daniel
Lindsley]
- Bumped revision. [Daniel Lindsley]

1.1

-----------------
- Bumped version to v1.1! [Daniel Lindsley]
- The ``build_solr_schema`` command can now write directly to a file.
Also includes tests for the new overrides. [Daniel Lindsley]
- Haystack's reserved field names are now configurable. [Daniel
Lindsley]
- BACKWARD-INCOMPATIBLE: ``auto_query`` has changed so that only double
quotes cause exact match searches. Thanks to craigds for the report!
[Daniel Lindsley]
- Added docs on handling content-type specific output in results.
[Daniel Lindsley]
- Added tests for ``content_type``. [Daniel Lindsley]
- Added docs on boosting. [Daniel Lindsley]
- Updated the ``searchfield_api`` docs. [Daniel Lindsley]
- ``template_name`` can be a list of templates passed to
``loader.select_template``. Thanks to zifot for the suggestion.
[Daniel Lindsley]
- Moved handle_facet_parameters call into FacetField's __init__. [Travis
Cline]
- Updated the pysolr dependency docs & added a debugging note about
boost support. [Daniel Lindsley]
- Starting the beta. [Daniel Lindsley]
- Fixed a bug with ``FacetedSearchForm`` where ``cleaned_data`` may not
exist. Thanks to imageinary for the report! [Daniel Lindsley]
- Added the ability to build epub versions of the docs. [Alfredo]
- Clarified that the current supported version of Whoosh is the 1.1.1+
series. Thanks to glesica for the report & original patch! [Daniel
Lindsley]
- The SearchAdmin now correctly uses SEARCH_VAR instead of assuming
things. [Rob Hudson]
- Added the ability to "weight" individual fields to adjust their
relevance. [David Sauve]
- Fixed facet fieldname lookups to use the proper fieldname. [Daniel
Lindsley]
- Removed unneeded imports from the Solr backend. [Daniel Lindsley]
- Further revamping of faceting. Each field type now has a faceted
variant that's created either with ``faceted=True`` or manual
initialization. [Daniel Lindsley]

This should also make user-created field types possible, as many of the gross ``isinstance`` checks were removed.
- Fixes SearchQuerySet not pickleable. Patch by oyiptong, tests by
toastdriven. [oyiptong]
- Added the ability to remove objects from the index that are no longer
in the database to the ``update_index`` management command. [Daniel
Lindsley]
- Added a ``range`` filter type. Thanks to davisp & lukesneeringer for
the suggestion! [Daniel Lindsley]

Note that integer ranges are broken on the current Whoosh (1.1.1). However, date & character ranges seem to work fine.
- Consistency. [Daniel Lindsley]
- Ensured that multiple calls to ``count`` don't result in multiple
queries. Thanks to Nagyman and others for the report! [Daniel
Lindsley]
- Ensure that when fetching the length of a result set that the whole
index isn't consumed (especially on Whoosh & Xapian). [Daniel
Lindsley]
- Really fixed dict ordering bugs in SearchSite. [Travis Cline]
- Changed how you query for facets and how how they are presented in the
facet counts. Allows customization of facet field names in indexes.
[Travis Cline]

Lightly backward-incompatible (git only).
- Made it easier to override ``SearchView/SearchForm`` behavior when no
query is present. [Daniel Lindsley]

No longer do you need to override both ``SearchForm`` & ``SearchView`` if you want to return all results. Use the built-in ``SearchView``, provide your own custom ``SearchForm`` subclass & override the ``no_query_found`` method per the docstring.
- Don't assume that any pk castable to an integer should be an integer.
[Carl Meyer]
- Fetching a list of all fields now produces correct results regardless
of dict-ordering. Thanks to carljm & veselosky for the report! [Daniel
Lindsley]
- Added notes about what is needed to make schema-building independent
of dict-ordering. [Daniel Lindsley]
- Sorted model order matters. [Daniel Lindsley]
- Prevent Whoosh from erroring if the ``end_offset`` is less than or
equal to 0. Thanks to zifot for the report! [Daniel Lindsley]
- Removed insecure use of ``eval`` from the Whoosh backend. Thanks to
SmileyChris for pointing this out. [Daniel Lindsley]
- Disallow ``indexed=False`` on ``FacetFields``. Thanks to jefftriplett
for the report! [Daniel Lindsley]
- Added ``FacetField`` & changed the way facets are processed. [Daniel
Lindsley]

Facet data is no longer quietly duplicated just before it goes into the index. Instead, full fields are created (with all the standard data & methods) to contain the faceted information.

This change is backward-compatible, but allows for better extension, not requiring data duplication into an unfaceted field and a little less magic.
- EmptyQuerySet.facet_counts() won't hit the backend. [Chris Adams]

This avoids an unnecessary extra backend query displaying the default
faceted search form.
- TextMate fail. [Daniel Lindsley]
- Changed ``__name__`` to an attribute on ``SearchView`` to work with
decorators. Thanks to trybik for the report! [Daniel Lindsley]
- Changed some wording on the tutorial to indicate where the data
template should go. Thanks for the suggestion Davepar! [Daniel
Lindsley]
- Merge branch 'whoosh-1.1' [Daniel Lindsley]
- Final cleanup before merging Whoosh 1.1 branch! [Daniel Lindsley]
- Final Whoosh 1.1.1 fixes. Waiting for an official release of Whoosh &
hand testing, then this ought to be merge-able. [Daniel Lindsley]
- Upgraded the Whoosh backend to 1.1. Still one remaining test failure
and two errors. Waiting on mchaput's thoughts/patches. [Daniel
Lindsley]
- Mistakenly committed this change. This bug is not fixed. [Daniel
Lindsley]
- Better handling of attempts at loading backends when the various
supporting libraries aren't installed. Thanks to traviscline for the
report. [Daniel Lindsley]
- Fixed random test failures from not running the Solr tests in awhile.
[Daniel Lindsley]
- Changed mlt test to use a set comparison to eliminate failures due to
ordering differences. [Travis Cline]
- Sped up Solr backend tests by moving away from RealTimeSearchIndex
since it was adding objects to Solr when loading fixtures. [Travis
Cline]
- Automatically add ``suggestion`` to the context if
``HAYSTACK_INCLUDE_SPELLING`` is set. Thanks to notanumber for the
suggestion! [Daniel Lindsley]
- Added apollo13 to AUTHORS for the ``SearchForm.__init__`` cleanup.
[Daniel Lindsley]
- Use kwargs.pop instead of try/except. [Florian Apolloner]
- Added Rob to AUTHORS for the admin cleanup. [Daniel Lindsley]
- Fixed selection_note text by adding missing zero. [Rob Hudson]
- Fixed full_result_count in admin search results. [Rob Hudson]
- Fixed admin actions in admin search results. [Rob Hudson]
- Added DevCheatSheet to "Who Uses". [Daniel Lindsley]
- Added Christchurch Art Gallery to "Who Uses". [Daniel Lindsley]
- Forgot to include ghostrocket as submitting a patch on the previous
commit. [Daniel Lindsley]
- Fixed a serious bug in the ``simple`` backend that would flip the
object instance and class. [Daniel Lindsley]
- Updated Whoosh to 0.3.18. [Daniel Lindsley]
- Updated NASA's use of Haystack in "Who Uses". [Daniel Lindsley]
- Changed how ``ModelSearchIndex`` introspects to accurately use
``IntegerField`` instead of ``FloatField`` as it was using. [Daniel
Lindsley]
- Added CongresoVisible to Who Uses. [Daniel Lindsley]
- Added a test to verify a previous change to the ``simple`` backend.
[Daniel Lindsley]
- Fixed the new admin bits to not explode on Django 1.1. [Daniel
Lindsley]
- Added ``SearchModelAdmin``, which enables Haystack-based search within
the admin. [Daniel Lindsley]
- Fixed a bug when not specifying a ``limit`` when using the
``more_like_this`` template tag. Thanks to symroe for the original
patch. [Daniel Lindsley]
- Fixed the error messages that occur when looking up attributes on a
model. Thanks to acdha for the patch. [Daniel Lindsley]
- Added pagination to the example search template in the docs so it's
clear that it is supported. [Daniel Lindsley]
- Fixed copy-paste foul in ``Installing Search Engines`` docs. [Daniel
Lindsley]
- Fixed the ``simple`` backend to return ``SearchResult`` instances, not
just bare model instances. Thanks to Agos for the report. [Daniel
Lindsley]
- Fixed the ``clear_index`` management command to respect
``--verbosity``. Thanks to kylemacfarlane for the report. [Daniel
Lindsley]
- Altered the ``simple`` backend to only search textual fields. This
makes the backend work consistently across all databases and is likely
the desired behavior anyhow. Thanks to kylemacfarlane for the report.
[Daniel Lindsley]
- Fixed a bug in the ``Highlighter`` which would double-highlight HTML
tags. Thanks to EmilStenstrom for the original patch. [Daniel
Lindsley]
- Updated management command docs to mention all options that are
accepted. [Daniel Lindsley]
- Altered the Whoosh backend to correctly clear the index when using the
``RAMStorage`` backend. Thanks to kylemacfarlane for the initial
patch. [Daniel Lindsley]
- Changed ``SearchView`` to allow more control over how many results are
shown per page. Thanks to simonw for the suggestion. [Daniel Lindsley]
- Ignore ``.pyo`` files when listing out the backend options. Thanks to
kylemacfarlane for the report. [Daniel Lindsley]
- Added CustomMade to Who Uses. [Daniel Lindsley]
- Moved a backend import to allow changing the backend Haystack uses on
the fly. [Daniel Lindsley]

Useful for testing.
- Added more debugging information to the docs. [Daniel Lindsley]
- Added DeliverGood.org to the "Who Uses" docs. [Daniel Lindsley]
- Added an settings override on ``HAYSTACK_LIMIT_TO_REGISTERED_MODELS``
as a possible performance optimization. [Daniel Lindsley]
- Added the ability to pickle ``SearchResult`` objects. Thanks to dedsm
for the original patch. [Daniel Lindsley]
- Added docs and fixed tests on the backend loading portions. Thanks to
kylemacfarlane for the report. [Daniel Lindsley]
- Fixed bug with ``build_solr_schema`` where ``stored=False`` would be
ignored. Thanks to johnthedebs for the report. [Daniel Lindsley]
- Added debugging notes for Solr. Thanks to smccully for reporting this.
[Daniel Lindsley]
- Fixed several errors in the ``simple`` backend. Thanks to notanumber
for the original patch. [Daniel Lindsley]
- Documentation fixes for Xapian. Thanks to notanumber for the edits!
[Daniel Lindsley]
- Fixed a typo in the tutorial. Thanks to cmbeelby for pointing this
out. [Daniel Lindsley]
- Fixed an error in the tutorial. Thanks to bencc for pointing this out.
[Daniel Lindsley]
- Added a warning to the docs that ``SearchQuerySet.raw_search`` does
not chain. Thanks to jacobstr for the report. [Daniel Lindsley]
- Fixed an error in the documentation on providing fields for faceting.
Thanks to ghostmob for the report. [Daniel Lindsley]
- Fixed a bug where a field that's both nullable & faceted would error
if no data was provided. Thanks to LarryEitel for the report. [Daniel
Lindsley]
- Fixed a regression where the built-in Haystack fields would no longer
facet correctly. Thanks to traviscline for the report. [Daniel
Lindsley]
- Fixed last code snippet on the ``SearchIndex.prepare_FOO`` docs.
Thanks to sk1p for pointing that out. [Daniel Lindsley]
- Fixed a bug where the schema could be built improperly if similar
fieldnames had different options. [Daniel Lindsley]
- Added to existing tests to ensure that multiple faceted fields are
included in the index. [Daniel Lindsley]
- Finally added a README. [Daniel Lindsley]
- Added a note about versions of the docs. [Daniel Lindsley]
- Go back to the default Sphinx theme. The custom Haystack theme is too
much work and too little benefit. [Daniel Lindsley]
- Added a note in the tutorial about building the schema when using
Solr. Thanks to trey0 for the report! [Daniel Lindsley]
- Fixed a bug where using ``SearchQuerySet.models()`` on an unregistered
model would be silently ignored. [Daniel Lindsley]

It is still silently ignored, but now emits a warning informing the user of why they may receive more results back than they expect.
- Added notes about the ``simple`` backend in the docs. Thanks to
notanumber for catching the omission. [Daniel Lindsley]
- Removed erroneous old docs about Lucene support, which never landed.
[Daniel Lindsley]
- Merge branch 'master' of github.com:toastdriven/django-haystack.
[Daniel Lindsley]
- Fixed typo in the tutorial. Thanks fxdgear for pointing that out!
[Daniel Lindsley]
- Fixed a bug related to Unicode data in conjunction with the ``dummy``
backend. Thanks to kylemacfarlane for the report! [Daniel Lindsley]
- Added Forkinit to Who Uses. [Daniel Lindsley]
- Added Rampframe to Who Uses. [Daniel Lindsley]
- Added other apps documentation for Haystack-related apps. [Daniel
Lindsley]
- Unified the way ``DEFAULT_OPERATOR`` is setup. [Daniel Lindsley]
- You can now override ``ITERATOR_LOAD_PER_QUERY`` with a setting if
you're consuming big chunks of a ``SearchQuerySet``. Thanks to
kylemacfarlane for the report. [Daniel Lindsley]
- Moved the preparation of faceting data to a
``SearchIndex.full_prepare()`` method for easier overriding. Thanks to
xav for the suggestion! [Daniel Lindsley]
- The ``more_like_this`` tag now silently fails if things go south.
Thanks to piquadrat for the patch! [Daniel Lindsley]
- Added a fleshed out ``simple_backend`` for basic usage + testing.
[David Sauve]
- ``SearchView.build_form()`` now accepts a dict to pass along to the
form. Thanks to traviscline for the patch! [Daniel Lindsley]
- Fixed the ``setup.py`` to include ``haystack.utils`` and added to the
``MANIFEST.in``. Thanks to jezdez for the patch! [Daniel Lindsley]
- Fixed date faceting in Solr. [Daniel Lindsley]

No more OOMs and very fast over large data sets.
- Added the ``search_view_factory`` function for thread-safe use of
``SearchView``. [Daniel Lindsley]
- Added more to the docs about the ``SearchQuerySet.narrow()`` method to
describe when/why to use it. [Daniel Lindsley]
- Fixed Whoosh tests. [Daniel Lindsley]

Somewhere, a reference to the old index was hanging around causing incorrect failures.
- The Whoosh backed now uses the ``AsyncWriter``, which ought to provide
better performance. Requires Whoosh 0.3.15 or greater. [Daniel
Lindsley]
- Added a way to pull the correct fieldname, regardless if it's been
overridden or not. [Daniel Lindsley]
- Added docs about adding new fields. [Daniel Lindsley]
- Removed a painful ``isinstance`` check which should make non-standard
usages easier. [Daniel Lindsley]
- Updated docs regarding reserved field names in Haystack. [Daniel
Lindsley]
- Pushed some of the new faceting bits down in the implementation.
[Daniel Lindsley]
- Removed unnecessary fields from the Solr schema template. [Daniel
Lindsley]
- Revamped how faceting is done within Haystack to make it easier to
work with. [Daniel Lindsley]
- Add more sites to Who Uses. [Daniel Lindsley]
- Fixed a bug in ``ModelSearchIndex`` where the ``index_fieldname``
would not get set. Also added a way to override it in a general
fashion. Thanks to traviscline for the patch! [Daniel Lindsley]
- Backend API standardization. Thanks to batiste for the report! [Daniel
Lindsley]
- Removed a method that was supposed to have been removed before 1.0.
Oops. [Daniel Lindsley]
- Added the ability to override field names within the index. Thanks to
traviscline for the suggestion and original patch! [Daniel Lindsley]
- Corrected the AUTHORS because slai actually provided the patch. Sorry
about that. [Daniel Lindsley]
- Refined the internals of ``ModelSearchIndex`` to be a little more
flexible. Thanks to traviscline for the patch! [Daniel Lindsley]
- The Whoosh backend now supports ``RamStorage`` for use with testing or
other non-permanent indexes. [Daniel Lindsley]
- Fixed a bug in the ``Highlighter`` involving repetition and regular
expressions. Thanks to alanzoppa for the original patch! [Daniel
Lindsley]
- Fixed a bug in the Whoosh backend when a ``MultiValueField`` is empty.
Thanks to alanwj for the original patch! [Daniel Lindsley]
- All dynamic imports now use ``importlib``. Thanks to bfirsh for the
original patch mentioning this. [Daniel Lindsley]

A backported version of ``importlib`` is included for compatibility with Django 1.0.
- Altered ``EmptySearchQuerySet`` so it's usable from templates. Thanks
to bfirsh for the patch! [Daniel Lindsley]
- Added tests to ensure a Whoosh regression is no longer present.
[Daniel Lindsley]
- Fixed a bug in Whoosh where using just ``.models()`` would create an
invalid query. Thanks to ricobl for the original patch. [Daniel
Lindsley]
- Forms with initial data now display it when used with SearchView.
Thanks to osirius for the original patch. [Daniel Lindsley]
- App order is now consistent with INSTALLED_APPS when running
``update_index``. [Daniel Lindsley]
- Updated docs to reflect the recommended way to do imports in when
defining ``SearchIndex`` classes. [Daniel Lindsley]

This is not my preferred style but reduces the import errors some people experience.
- Fixed omission of Xapian in the settings docs. Thanks to flebel for
pointing this out. [Daniel Lindsley]
- Little bits of cleanup related to testing. [Daniel Lindsley]
- Fixed an error in the docs related to pre-rendering data. [Daniel
Lindsley]
- Added Pegasus News to Who Uses. [Daniel Lindsley]
- Corrected an import in forms for consistency. Thanks to bkonkle for
pointing this out. [Daniel Lindsley]
- Fixed bug where passing a customized ``site`` would not make it down
through the whole stack. Thanks to Peter Bengtsson for the report and
original patch. [Daniel Lindsley]
- Bumped copyright years. [Daniel Lindsley]
- Changed Whoosh backend so most imports will raise the correct
exception. Thanks to shabda for the suggestion. [Daniel Lindsley]
- Refactored Solr's tests to minimize reindexes. Runs ~50% faster.
[Daniel Lindsley]
- Fixed a couple potential circular imports. [Daniel Lindsley]
- The same field can now have multiple query facets. Thanks to bfirsh
for the original patch. [Daniel Lindsley]
- Added schema for testing Solr. [Daniel Lindsley]
- Fixed a string interpolation bug when adding an invalid data facet.
Thanks to simonw for the original patch. [Daniel Lindsley]
- Fixed the default highlighter to give slightly better results,
especially with short strings. Thanks to RobertGawron for the original
patch. [Daniel Lindsley]
- Changed the ``rebuild_index`` command so it can take all options that
can be passed to either ``clear_index`` or ``update_index``. Thanks to
brosner for suggesting this. [Daniel Lindsley]
- Added ``--noinput`` flag to ``clear_index``. Thanks to aljosa for the
suggestion. [Daniel Lindsley]
- Updated the example in the template to be a little more real-world and
user friendly. Thanks to j0hnsmith for pointing this out. [Daniel
Lindsley]
- Fixed a bug with the Whoosh backend where scores weren't getting
populated correctly. Thanks to horribtastic for the report. [Daniel
Lindsley]
- Changed ``EmptySearchQuerySet`` so it returns an empty list when
slicing instead of mistakenly running queries. Thanks to askfor for
reporting this bug. [Daniel Lindsley]
- Switched ``SearchView`` & ``FacetedSearchView`` to use
``EmptySearchQuerySet`` (instead of a regular list) when there are no
results. Thanks to acdha for the original patch. [Daniel Lindsley]
- Added RedditGifts to "Who Uses". [Daniel Lindsley]
- Added Winding Road to "Who Uses". [Daniel Lindsley]
- Added ryszard's full name to AUTHORS. [Daniel Lindsley]
- Added initialization bits to part of the Solr test suite. Thanks to
notanumber for pointing this out. [Daniel Lindsley]
- Started the 1.1-alpha work. Apologies for not doing this sooner.
[Daniel Lindsley]
- Added an advanced setting for disabling Haystack's initialization in
the event of a conflict with other apps. [Daniel Lindsley]
- Altered ``SearchForm`` to use ``.is_valid()`` instead of ``.clean()``,
which is a more idiomatic/correct usage. Thanks to askfor for the
suggestion. [Daniel Lindsley]
- Added MANIFEST to ignore list. [Daniel Lindsley]
- Fixed Django 1.0 compatibility when using the Solr backend. [Daniel
Lindsley]
- Marked Haystack as 1.0 final. [Daniel Lindsley]
- Incorrect test result from changing the documented way the
``highlight`` template tag gets called. [Daniel Lindsley]
- Updated the example in faceting documentation to provide better
results and explanation on the reasoning. [Daniel Lindsley]
- Added further documentation about
``SearchIndex``/``RealTimeSearchIndex``. [Daniel Lindsley]
- Added docs about `SearchQuerySet.highlight`. [toastdriven]
- Added further docs on `RealTimeSearchIndex`. [toastdriven]
- Added documentation on the ``RealTimeSearchIndex`` class.
[toastdriven]
- Fixed the documentation for the arguments on the `highlight` tag.
Thanks to lucalenardi for pointing this out. [Daniel Lindsley]
- Fixed tutorial to mention where the `NoteSearchIndex` should be
placed. Thanks to bkeating for pointing this out. [Daniel Lindsley]
- Marked Haystack as 1.0.0 release candidate 1. [Daniel Lindsley]
- Haystack now requires Whoosh 0.3.5. [Daniel Lindsley]
- Last minute documentation cleanup. [Daniel Lindsley]
- Added documentation about the management commands that come with
Haystack. [Daniel Lindsley]
- Added docs on the template tags included with Haystack. [Daniel
Lindsley]
- Added docs on highlighting. [Daniel Lindsley]
- Removed some unneeded legacy code that was causing conflicts when
Haystack was used with apps that load all models (such as `django-
cms2`, `localemiddleware` or `django-transmeta`). [Daniel Lindsley]
- Removed old code from the `update_index` command. [Daniel Lindsley]
- Altered spelling suggestion test to something a little more
consistent. [Daniel Lindsley]
- Added tests for slicing the end of a `RelatedSearchQuerySet`. [Daniel
Lindsley]
- Fixed case where `SearchQuerySet.more_like_this` would fail when using
deferred Models. Thanks to Alex Gaynor for the original patch. [Daniel
Lindsley]
- Added default logging bits to prevent "No handlers found" message.
[Daniel Lindsley]
- BACKWARD-INCOMPATIBLE: Renamed `reindex` management command to
`update_index`, renamed `clear_search_index` management command to
`clear_index` and added a `rebuild_index` command to both clear &
reindex. [Daniel Lindsley]
- BACKWARD-INCOMPATIBLE: `SearchIndex` no longer hooks up
`post_save/post_delete` signals for the model it's registered with.
[Daniel Lindsley]

If you use `SearchIndex`, you will have to manually cron up a `reindex` (soon to become `update_index`) management command to periodically refresh the data in your index.

If you were relying on the old behavior, please use `RealTimeSearchIndex` instead, which does hook up those signals.
- Ensured that, if a `MultiValueField` is marked as `indexed=False` in
Whoosh, it ought not to post-process the field. [Daniel Lindsley]
- Ensured data going into the indexes round-trips properly. Fixed
`DateField`/`DateTimeField` handling for all backends and
`MultiValueField` handling in Whoosh. [Daniel Lindsley]
- Added a customizable `highlight` template tag plus an underlying
`Highlighter` implementation. [Daniel Lindsley]
- Added more documentation about using custom `SearchIndex.prepare_FOO`
methods. [Daniel Lindsley]
- With Whoosh 0.3.5+, the number of open files is greatly reduced.
[Daniel Lindsley]
- Corrected example in docs about `RelatedSearchQuerySet`. Thanks to
askfor for pointing this out. [Daniel Lindsley]
- Altered `SearchResult` objects to fail gracefully when the
model/object can't be found. Thanks to akrito for the report. [Daniel
Lindsley]
- Fixed a bug where `auto_query` would fail to escape strings that
pulled out for exact matching. Thanks to jefftriplett for the report.
[Daniel Lindsley]
- Added Brick Design to Who Uses. [Daniel Lindsley]
- Updated backend support docs slightly. [Daniel Lindsley]
- Added the ability to combine `SearchQuerySet`s via `&` or `|`. Thanks
to reesefrancis for the suggestion. [Daniel Lindsley]
- Revised the most of the tutorial. [Daniel Lindsley]
- Better documented how user-provided data should be sanitized. [Daniel
Lindsley]
- Fleshed out the `SearchField` documentation. [Daniel Lindsley]
- Fixed formatting on ``SearchField`` documentation. [Daniel Lindsley]
- Added basic ``SearchField`` documentation. [Daniel Lindsley]

More information about the kwargs and usage will be eventually needed.
- Bumped the `ulimit` so Whoosh tests pass consistently on Mac OS X.
[Daniel Lindsley]
- Fixed the `default` kwarg in `SearchField` (and subclasses) to work
properly from a user's perspective. [Daniel Lindsley]
- BACKWARD-INCOMPATIBLE: Fixed ``raw_search`` to cooperate when
paginating/slicing as well as many other conditions. [Daniel Lindsley]

This no longer immediately runs the query, nor pokes at any internals. It also now takes into account other details, such as sorting & faceting.
- Fixed a bug in the Whoosh backend where slicing before doing a hit
count could cause strange results when paginating. Thanks to
kylemacfarlane for the original patch. [Daniel Lindsley]
- The Whoosh tests now deal with the same data set as the Solr tests and
cover various aspects better. [Daniel Lindsley]
- Started to pull out the real-time, signal-based updates out of the
main `SearchIndex` class. Backward compatible for now. [Daniel
Lindsley]
- Fixed docs to include `utils` documentation. [Daniel Lindsley]
- Updated instructions for installing `pysolr`. Thanks to sboisen for
pointing this out. [Daniel Lindsley]
- Added acdha to AUTHORS for previous commit. [Daniel Lindsley]
- Added exception handling to the Solr Backend to silently fail/log when
Solr is unavailable. Thanks to acdha for the original patch. [Daniel
Lindsley]
- The `more_like_this` tag is now tested within the suite. Also has lots
of cleanup for the other Solr tests. [Daniel Lindsley]
- On both the Solr & Whoosh backends, don't do an update if there's
nothing being updated. [Daniel Lindsley]
- Moved Haystack's internal fields out of the backends and into
`SearchIndex.prepare`. [Daniel Lindsley]

This is both somewhat more DRY as well as a step toward Haystack being useful to non-Django projects.
- Fixed a bug in the `build_schema` where fields that aren't supposed to
be indexed are still getting post-procesed by Solr. Thanks to Jonathan
Slenders for the report. [Daniel Lindsley]
- Added HUGE to Who Uses. [Daniel Lindsley]
- Fixed bug in Whoosh where it would always generate spelling
suggestions off the full query even when given a different query
string to check against. [Daniel Lindsley]
- Simplified the SQ object and removed a limitation on kwargs/field
names that could be passed in. Thanks to traviscline for the patch.
[Daniel Lindsley]
- Documentation on `should_update` fixed to match the new signature.
Thanks to kylemacfarlane for pointing this out. [Daniel Lindsley]
- Fixed missing words in Best Practices documentation. Thanks to
frankwiles for the original patch. [Daniel Lindsley]
- The `update_object` method now passes along kwargs as needed to the
`should_update` method. Thanks to askfor for the suggestion. [Daniel
Lindsley]
- Updated docs about the removal of the Whoosh fork. [Daniel Lindsley]
- Removed extraneous `BadSearchIndex3` from test suite. Thanks
notanumber! [Daniel Lindsley]
- We actually want `repr`, not `str`. [Daniel Lindsley]
- Pushed the `model_attr` check lower down into the `SearchField`s and
make it occur later, so that exceptions come at a point where Django
can better deal with them. [Daniel Lindsley]
- Fixed attempting to access an invalid `model_attr`. Thanks to
notanumber for the original patch. [Daniel Lindsley]
- Added SQ objects (replacing the QueryFilter object) as the means to
generate queries/query fragments. Thanks to traviscline for all the
hard work. [Daniel Lindsley]

The SQ object is similar to Django's Q object and allows for arbitrarily complex queries. Only backward incompatible if you were relying on the SearchQuery/QueryFilter APIs.
- Reformatted debugging docs a bit. [Daniel Lindsley]
- Added debugging information about the Whoosh lock error. [Daniel
Lindsley]
- Brought the TODO up to date. [Daniel Lindsley]
- Added a warning to the documentation about how `__startswith` may not
always provide the expected results. Thanks to codysoyland for
pointing this out. [Daniel Lindsley]
- Added debugging documentation, with more examples coming in the
future. [Daniel Lindsley]
- Added a new `basic_search` view as a both a working example of how to
write traditional views and as a thread-safe view, which the class-
based ones may/may not be. [Daniel Lindsley]
- Fixed sample template in the documentation. Thanks to lemonad for
pointing this out. [Daniel Lindsley]
- Updated documentation to include a couple more Sphinx directives.
Index is now more useful. [Daniel Lindsley]
- Made links more obvious in documentation. [Daniel Lindsley]
- Added an `example_project` demonstrating how a sample project might be
setup. [Daniel Lindsley]
- Fixed `load_backend` to use the argument passed instead of always the
`settings.HAYSTACK_SEARCH_ENGINE`. Thanks to newgene for the report.
[Daniel Lindsley]
- Regression where sometimes `narrow_queries` got juggled into a list
when it should be a set everywhere. Thanks tcline & ericholscher for
the report. [Daniel Lindsley]
- Updated the Whoosh backend's version requirement to reflect the fully
working version of Whoosh. [Daniel Lindsley]
- With the latest SVN version of Whoosh (r344), `SearchQuerySet()` now
works properly in Whoosh. [Daniel Lindsley]
- Added a `FacetedModelSearchForm`. Thanks to mcroydon for the original
patch. [Daniel Lindsley]
- Added translation capabilities to the `SearchForm` variants. Thanks to
hejsan for pointing this out. [Daniel Lindsley]
- Added AllForLocal to Who Uses. [Daniel Lindsley]
- The underlying caching has been fixed so it no longer has to fill the
entire cache before it to ensure consistency. [Daniel Lindsley]

This results in significantly faster slicing and reduced memory usage. The test suite is more complete and ensures this functionality better.

This also removes `load_all_queryset` from the main `SearchQuerySet` implementation. If you were relying on this behavior, you should use `RelatedSearchQuerySet` instead.
- Log search queries with `DEBUG = True` for debugging purposes, similar
to what Django does. [Daniel Lindsley]
- Updated LJ's Who Uses information. [Daniel Lindsley]
- Added Sunlight Labs & NASA to the Who Uses list. [Daniel Lindsley]
- Added Eldarion to the Who Uses list. [Daniel Lindsley]
- When more of the cache is populated, provide a more accurate `len()`
of the `SearchQuerySet`. This ought to only affect advanced usages,
like excluding previously-registered models or `load_all_queryset`.
[Daniel Lindsley]
- Fixed a bug where `SearchQuerySet`s longer than `REPR_OUTPUT_SIZE`
wouldn't include a note about truncation when `__repr__` is called.
[Daniel Lindsley]
- Added the ability to choose which site is used when reindexing. Thanks
to SmileyChris for pointing this out and the original patch. [Daniel
Lindsley]
- Fixed the lack of a `__unicode__` method on `SearchResult` objects.
Thanks to mint_xian for pointing this out. [Daniel Lindsley]
- Typo'd the setup.py changes. Thanks to jlilly for catching that.
[Daniel Lindsley]
- Converted all query strings to Unicode for Whoosh. Thanks to simonw108
for pointing this out. [Daniel Lindsley]
- Added template tags to `setup.py`. Thanks to Bogdan for pointing this
out. [Daniel Lindsley]
- Added two more tests to the Whoosh backend, just to make sure. [Daniel
Lindsley]
- Corrected the way Whoosh handles `order_by`. Thanks to Rowan for
pointing this out. [Daniel Lindsley]
- For the Whoosh backend, ensure the directory is writable by the
current user to try to prevent failed writes. [Daniel Lindsley]
- Added a better label to the main search form field. [Daniel Lindsley]
- Bringing the Whoosh backend up to version 0.3.0b14. This version of
Whoosh has better query parsing, faster indexing and, combined with
these changes, should cause fewer disruptions when used in a
multiprocess/multithreaded environment. [Daniel Lindsley]
- Added optional argument to `spelling_suggestion` that lets you provide
a different query than the one built by the SearchQuerySet. [Daniel
Lindsley]

Useful for passing along a raw user-provided query, especially when there is a lot of post-processing done.
- SearchResults now obey the type of data chosen in their corresponding
field in the SearchIndex if present. Thanks to evgenius for the
original report. [Daniel Lindsley]
- Fixed a bug in the Solr backend where submitting an empty string to
search returned an ancient and incorrect datastructure. Thanks kapa77
for the report. [Daniel Lindsley]
- Fixed a bug where the cache would never properly fill due to the
number of results returned being lower than the hit count. This could
happen when there were results excluded due to being in the index but
the model NOT being registered in the `SearchSite`. Thanks akrito and
tcline for the report. [Daniel Lindsley]
- Altered the docs to look more like the main site. [Daniel Lindsley]
- Added a (short) list of who uses Haystack. Would love to have more on
this list. [Daniel Lindsley]
- Fixed docs on preparing data. Thanks fud. [Daniel Lindsley]
- Added the `ModelSearchIndex` class for easier `SearchIndex`
generation. [Daniel Lindsley]
- Added a note about using possibly unsafe data with `filter/exclude`.
Thanks to ryszard for pointing this out. [Daniel Lindsley]
- Standardized the API on `date_facet`. Thanks to notanumber for the
original patch. [Daniel Lindsley]
- Moved constructing the schema down to the `SearchBackend` level. This
allows more flexibility when creating a schema. [Daniel Lindsley]
- Fixed a bug where a hyphen provided to `auto_query` could break the
query string. Thanks to ddanier for the report. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - For consistency, `get_query_set` has been
renamed to `get_queryset` on `SearchIndex` classes. [Daniel Lindsley]

A simple search & replace to remove the underscore should be all that is needed.
- Missed two bits while updating the documentation for the Xapian
backend. [Daniel Lindsley]
- Updated documentation to add the Xapian backend information. A big
thanks to notatnumber for all his hard work on the Xapian backend.
[Daniel Lindsley]
- Added `EmptySearchQuerySet`. Thanks to askfor for the suggestion!
[Daniel Lindsley]
- Added "Best Practices" documentation. [Daniel Lindsley]
- Added documentation about the `HAYSTACK_SITECONF` setting. [Daniel
Lindsley]
- Fixed erroneous documentation on Xapian not supporting boost. Thanks
notanumber! [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - The `haystack.autodiscover()` and other site
modifications now get their own configuration file and should no
longer be placed in the `ROOT_URLCONF`. Thanks to SmileyChris for the
original patch and patrys for further feedback. [Daniel Lindsley]
- Added `verbose_name_plural` to the `SearchResult` object. [Daniel
Lindsley]
- Added a warning about ordering by integers with the Whoosh backend.
[Daniel Lindsley]
- Added a note about ordering and accented characters. [Daniel Lindsley]
- Updated the `more_like_this` tag to allow for narrowing the models
returned by the tag. [Daniel Lindsley]
- Fixed `null=True` for `IntegerField` and `FloatField`. Thanks to
ryszard for the report and original patch. [Daniel Lindsley]
- Reverted aabdc9d4b98edc4735ed0c8b22aa09796c0a29ab as it would cause
mod_wsgi environments to fail in conjunction with the admin on Django
1.1. [Daniel Lindsley]
- Added the start of a glossary of terminology. [Daniel Lindsley]
- Various documentation fixes. Thanks to sk1p & notanumber. [Daniel
Lindsley]
- The `haystack.autodiscover()` and other site modifications may now be
placed in ANY URLconf, not just the `ROOT_URLCONF`. Thanks to
SmileyChris for the original patch. [Daniel Lindsley]
- Fixed invalid/empty pages in the SearchView. Thanks to joep and
SmileyChris for patches. [Daniel Lindsley]
- Added a note and an exception about consistent fieldnames for the
document field across all `SearchIndex` classes. Thanks sk1p_! [Daniel
Lindsley]
- Possible thread-safety fix related to registration handling. [Daniel
Lindsley]
- BACKWARD INCOMPATIBLE - The 'boost' method no longer takes kwargs.
This makes boost a little more useful by allowing advanced terms.
[Daniel Lindsley]

To migrate code, convert multiple kwargs into separate 'boost' calls, quote what was the key and change the '=' to a ','.
- Updated documentation to match behavioral changes to MLT. [Daniel
Lindsley]
- Fixed a serious bug in MLT on Solr. Internals changed a bit and now
things work correctly. [Daniel Lindsley]
- Removed erroneous 'zip_safe' from setup.py. Thanks ephelon. [Daniel
Lindsley]
- Added `null=True` to fields, allowing you to ignore/skip a field when
indexing. Thanks to Kevin for the original patch. [Daniel Lindsley]
- Fixed a standing test failure. The dummy setup can't do `load_all` due
to mocking. [Daniel Lindsley]
- Added initial `additional_query` to MLT to allow for narrowing
results. [Daniel Lindsley]
- Fixed nasty bug where results would get duplicated due to cached
results. [Daniel Lindsley]
- Altered `ITERATOR_LOAD_PER_QUERY` from 20 to 10. [Daniel Lindsley]
- Corrected tutorial when dealing with fields that have
`use_template=True`. [Daniel Lindsley]
- Updated documentation to reflect basic Solr setup. [Daniel Lindsley]
- Fix documentation on grabbing Whoosh and on the 'load_all' parameter
for SearchForms. [Daniel Lindsley]
- Fixed bug where the '__in' filter wouldn't work with phrases or data
types other than one-word string/integer. [Daniel Lindsley]
- Fixed bug so that the 'load_all' option in 'SearchView' now actually
does what it says it should. How embarrassing... [Daniel Lindsley]
- Added ability to specify custom QuerySets for loading records via
'load_all'/'load_all_queryset'. [Daniel Lindsley]
- Fixed a bug where results from non-registered models could appear in
the results. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - Changed 'module_name' to 'model_name'
throughout Haystack related to SearchResult objects. Only incompatible
if you were relying on this attribute. [Daniel Lindsley]
- Added the ability to fetch additional and stored fields from a
SearchResult as well as documentation on the SearchResult itself.
[Daniel Lindsley]
- Added the ability to look through relations in SearchIndexes via '__'.
[Daniel Lindsley]
- Added note about the 'text' fieldname convention. [Daniel Lindsley]
- Added an 'update_object' and 'remove_object' to the SearchSite objects
as a shortcut. [Daniel Lindsley]
- Recover gracefully from queries Whoosh judges to be invalid. [Daniel
Lindsley]
- Missed test from previous commit. [Daniel Lindsley]
- Added stemming support to Whoosh. [Daniel Lindsley]
- Removed the commented version. [Daniel Lindsley]
- Django 1.0.X compatibility fix for the reindex command. [Daniel
Lindsley]
- Reindexes should now consume a lot less RAM. [Daniel Lindsley]

Evidently, when you run a ton of queries touching virtually everything in your DB, you need to clean out the "logged" queries from the connection. Sad but true.
- Altered `SearchBackend.remove` and `SearchBackend.get_identifier` to
accept an object or a string identifier (in the event the object is no
longer available). [Daniel Lindsley]

This is useful in an environment where you no longer have the original object on hand and know what it is you wish to delete.
- Added a simple (read: ghetto) way to run the test suite without having
to mess with settings. [Daniel Lindsley]
- Added a setting `HAYSTACK_BATCH_SIZE` to control how many objects are
processed at once when running a reindex. [Daniel Lindsley]
- Fixed import that was issuing a warning. [Daniel Lindsley]
- Further tests to make sure `unregister` works appropriately as well,
just to be paranoid. [Daniel Lindsley]
- Fixed a bizarre bug where backends may see a different site object
than the rest of the application code. THIS REQUIRES SEARCH &
REPLACING ALL INSTANCES OF `from haystack.sites import site` TO `from
haystack import site`. [Daniel Lindsley]

No changes needed if you've been using `haystack.autodiscover()`.
- Pushed save/delete signal registration down to the SearchIndex level.
[Daniel Lindsley]

This should make it easier to alter how individual indexes are setup, allowing you to queue updates, prevent deletions, etc. The internal API changed slightly.
- Created a default 'clean' implementation, as the first three (and soon
fourth) backends all use identical code. [Daniel Lindsley]
- Updated tests to match new 'model_choices'. [Daniel Lindsley]
- Added timeout support to Solr. [Daniel Lindsley]
- Capitalize the Models in the model_choices. [Daniel Lindsley]
- Removed unnecessary import. [Daniel Lindsley]
- No longer need to watch for DEBUG in the 'haystack_info' command.
[Daniel Lindsley]
- Fixed bug in Whoosh backend when spelling suggestions are disabled.
[Daniel Lindsley]
- Added a "clear_search_index" management command. [Daniel Lindsley]
- Removed comments as pysolr now supports timeouts and the other comment
no longer applies. [Daniel Lindsley]
- Removed Solr-flavored schema bits. [Daniel Lindsley]

Still need to work out a better way to handle user created fields that don't fit neatly into subclassing one of the core Field types.
- Moved informational messages to a management command to behave better
when using dumpdata or wsgi. [Daniel Lindsley]
- Changed some Solr-specific field names. Requires a reindex. [Daniel
Lindsley]
- Typo'd docstring. [Daniel Lindsley]
- Removed empty test file from spelling testing. [Daniel Lindsley]
- Documentation for getting spelling support working on Solr. [Daniel
Lindsley]
- Initial spelling support added. [Daniel Lindsley]
- Added a 'more_like_this' template tag. [Daniel Lindsley]
- Removed an unnecessary 'run'. This cause MLT (and potentially
'raw_search') to fail by overwriting the results found. [Daniel
Lindsley]
- Added Whoosh failure. Needs inspecting. [Daniel Lindsley]
- Finally added views/forms documentation. A touch rough still. [Daniel
Lindsley]
- Fixed a bug in FacetedSearchView where a SearchQuerySet method could
be called on an empty list instead. [Daniel Lindsley]
- More faceting documentation. [Daniel Lindsley]
- Started faceting documentation. [Daniel Lindsley]
- Updated docs to finally include details about faceting. [Daniel
Lindsley]
- Empty or one character searches in Whoosh returned the wrong data
structure. Thanks for catching this, silviogutierrez! [Daniel
Lindsley]
- Added scoring to Whoosh now that 0.1.20+ support it. [Daniel Lindsley]
- Fixed a bug in the Solr tests due to recent changes in pysolr. [Daniel
Lindsley]
- Added documentation on the 'narrow' method. [Daniel Lindsley]
- Added additional keyword arguments on raw_search. [Daniel Lindsley]
- Added 'narrow' support in Whoosh. [Daniel Lindsley]
- Fixed Whoosh backend's handling of pre-1900 dates. Thanks JoeGermuska!
[Daniel Lindsley]
- Backed out the Whoosh quoted dates patch. [Daniel Lindsley]

Something still seems amiss in the Whoosh query parser, as ranges and dates together don't seem to get parsed together properly.
- Added a small requirements section to the docs. [Daniel Lindsley]
- Added notes about enabling the MoreLikeThisHandler within Solr.
[Daniel Lindsley]
- Revised how tests are done so each backend now gets its own test app.
[Daniel Lindsley]

All tests pass once again.
- Added 'startswith' filter. [Daniel Lindsley]
- Fixed the __repr__ method on QueryFilters. Thanks JoeGermuska for the
original patch! [Daniel Lindsley]
- BACKWARDS INCOMPATIBLE - Both the Solr & Whoosh backends now provide
native Python types back in SearchResults. [Daniel Lindsley]

This also allows Whoosh to use native types better from the 'SearchQuerySet' API itself.

This unfortunately will also require all Whoosh users to reindex, as the way some data (specifically datetimes/dates but applicable to others) is stored in the index.
- SearchIndexes now support inheritance. Thanks smulloni! [Daniel
Lindsley]
- Added FacetedSearchForm to make handling facets easier. [Daniel
Lindsley]
- Heavily refactored the SearchView to take advantage of being a class.
[Daniel Lindsley]

It should now be much easier to override bits without having to copy-paste the entire __call__ method, which was more than slightly embarrassing before.
- Fixed Solr backend so that it properly converts native Python types to
something Solr can handle. Thanks smulloni for the original patch!
[Daniel Lindsley]
- SearchResults now include a verbose name for display purposes. [Daniel
Lindsley]
- Fixed reverse order_by's when using Whoosh. Thanks matt_c for the
original patch. [Daniel Lindsley]
- Handle Whoosh stopwords behavior when provided a single character
query string. [Daniel Lindsley]
- Lightly refactored tests to only run engines with their own settings.
[Daniel Lindsley]
- Typo'd the tutorial when setting up your own SearchSite. Thanks
mcroydon! [Daniel Lindsley]
- Altered loading statements to only display when DEBUG is True. [Daniel
Lindsley]
- Write to STDERR where appropriate. Thanks zerok for suggesting this
change. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - Altered the search query param to 'q' instead
of 'query'. Thanks simonw for prompting this change. [Daniel Lindsley]
- Removed the Whoosh patch in favor of better options. Please see the
documentation. [Daniel Lindsley]
- Added Whoosh patch for 0.1.15 to temporarily fix reindexes. [Daniel
Lindsley]
- Altered the reindex command to handle inherited models. Thanks
smulloni! [Daniel Lindsley]
- Removed the no longer needed Whoosh patch. [Daniel Lindsley]

Whoosh users should upgrade to the latest Whoosh (0.1.15) as it fixes the issues that the patch covers as well as others.
- Documented the 'content' shortcut. [Daniel Lindsley]
- Fixed an incorrect bit of documentation on the default operator
setting. Thanks benspaulding! [Daniel Lindsley]
- Added documentation about Haystack's various settings. [Daniel
Lindsley]
- Corrected an issue with the Whoosh backend that can occur when no
indexes are registered. Now provides a better exception. [Daniel
Lindsley]
- Documentation fixes. Thanks benspaulding! [Daniel Lindsley]
- Fixed Whoosh patch, which should help with the "KeyError" exceptions
when searching with models. Thanks Matias Costa! [Daniel Lindsley]
- Improvements to the setup.py. Thanks jezdez & ask! [Daniel Lindsley]
- Fixed the .gitignore. Thanks ask! [Daniel Lindsley]
- FacetedSearchView now inherits from SearchView. Thanks cyberdelia!
[Daniel Lindsley]

This will matter much more soon, as SearchView is going to be refactored to be more useful and extensible.
- Documentation fixes. [Daniel Lindsley]
- Altered the whoosh patch. Should apply cleanly now. [Daniel Lindsley]
- Better linking to the search engine installation notes. [Daniel
Lindsley]
- Added documentation on setting up the search engines. [Daniel
Lindsley]
- Provide an exception when importing a backend dependency fails. Thanks
brosner for the initial patch. [Daniel Lindsley]
- Yay stupid typos! [Daniel Lindsley]
- Relicensing under BSD. Thanks matt_c for threatening to use my name in
an endorsement of a derived product! [Daniel Lindsley]
- Fixed a bug in ModelSearchForm. Closes 1. Thanks dotsphinx! [Daniel
Lindsley]
- Added link to pysolr binding. [Daniel Lindsley]
- Refined documentation on preparing SearchIndex data. [Daniel Lindsley]
- Changed existing references from 'model_name' to 'module_name'.
[Daniel Lindsley]

This was done to be consistent both internally and with Django. Thanks brosner!
- Documentation improvements. Restyled and friendlier intro page.
[Daniel Lindsley]
- Added documentation on preparing data. [Daniel Lindsley]
- Additions and re-prioritizing the TODO list. [Daniel Lindsley]
- Added warnings to Whoosh backend in place of silently ignoring
unsupported features. [Daniel Lindsley]
- Corrected Xapian's capabilities. Thanks richardb! [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - Altered all settings to be prefixed with
HAYSTACK_. Thanks Collin! [Daniel Lindsley]
- Test cleanup from previous commits. [Daniel Lindsley]
- Changed the DEFAULT_OPERATOR back to 'AND'. Thanks richardb! [Daniel
Lindsley]
- Altered the way registrations get handled. [Daniel Lindsley]
- Various fixes. Thanks brosner! [Daniel Lindsley]
- Added new 'should_update' method to documentation. [Daniel Lindsley]
- Added 'should_update' method to SearchIndexes. [Daniel Lindsley]

This allows you to control, on a per-index basis, what conditions will cause an individual object to reindex. Useful for models that update frequently with changes that don't require indexing.
- Added FAQ docs. [Daniel Lindsley]
- Alter Whoosh backend to commit regardless. This avoids locking issues
that can occur on higher volume sites. [Daniel Lindsley]
- A more efficient implementation of index clearing in Whoosh. [Daniel
Lindsley]
- Added details about settings needed in settings.py. [Daniel Lindsley]
- Added setup.py. Thanks cyberdelia for prompting it. [Daniel Lindsley]
- Reindex management command now can reindex a limited range (like last
24 hours). Thanks traviscline. [Daniel Lindsley]
- More things to do. [Daniel Lindsley]
- Documentation formatting fixes. [Daniel Lindsley]
- Added SearchBackend docs. [Daniel Lindsley]
- Corrected reST formatting. [Daniel Lindsley]
- Additional TODO's. [Daniel Lindsley]
- Initial SearchIndex documentation. [Daniel Lindsley]
- Formally introduced the TODO. [Daniel Lindsley]
- Updated backend support list. [Daniel Lindsley]
- Added initial documentation for SearchSites. [Daniel Lindsley]
- Changed whoosh backend to fix limiting sets. Need to revisit someday.
[Daniel Lindsley]
- Added patch for Whoosh backend and version notes in documentation.
[Daniel Lindsley]
- Initial Whoosh backend complete. [Daniel Lindsley]

Does not yet support highlighting or scoring.
- Removed some unnecessary dummy code. [Daniel Lindsley]
- Work on trying to get the default site to load reliably in all cases.
[Daniel Lindsley]
- Trimmed down the urls for tests now that the dummy backend works
correctly. [Daniel Lindsley]
- Dummy now correctly loads the right SearchBackend. [Daniel Lindsley]
- Removed faceting from the default SearchView. [Daniel Lindsley]
- Refactored tests so they are no longer within the haystack app.
[Daniel Lindsley]

Further benefits include less mocking and haystack's tests no longer contributing overall testing of end-user apps. Documentation included.
- Removed old comment. [Daniel Lindsley]
- Fixed a potential race condition. Also, since there's no way to tell
when everything is ready to go in Django, adding an explicit call to
SearchQuerySet's __init__ to force the site to load if it hasn't
already. [Daniel Lindsley]
- More tests on models() support. [Daniel Lindsley]
- Pulled schema building out into the site to leverage across backends.
[Daniel Lindsley]
- Altered backend loading for consistency with Django and fixed the
long-incorrect-for-non-obvious-and-tedious-reasons version number.
Still beta but hopefully that changes soon. [Daniel Lindsley]
- Missed a spot when fixing SearchSites. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE - Created a class name conflict during the last
change (double use of ``SearchIndex``). Renamed original
``SearchIndex`` to ``SearchSite``, which is slightly more correct
anyhow. [Daniel Lindsley]

This will only affect you if you've custom built sites (i.e. not used ``autodiscover()``.
- More documentation. Started docs on SearchQuery. [Daniel Lindsley]
- Further fleshed out SearchQuerySet documentation. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE (2 of 2) - Altered autodiscover to search for
'search_indexes.py' instead of 'indexes.py' to prevent collisions and
be more descriptive. [Daniel Lindsley]
- BACKWARD INCOMPATIBLE (1 of 2) - The ModelIndex class has been renamed
to be SearchIndex to make room for future improvements. [Daniel
Lindsley]
- Fleshed out a portion of the SearchQuerySet documentation. [Daniel
Lindsley]
- SearchQuerySet.auto_query now supports internal quoting for exact
matches. [Daniel Lindsley]
- Fixed semi-serious issue with SearchQuery objects, causing bits to
leak from one query to the next when cloning. [Daniel Lindsley]
- Altered Solr port for testing purposes. [Daniel Lindsley]
- Now that Solr and core feature set are solid, moved haystack into beta
status. [Daniel Lindsley]
- Added simple capabilities for retrieving facets back. [Daniel
Lindsley]
- Bugfix to make sure model choices don't get loaded until after the
IndexSite is populated. [Daniel Lindsley]
- Initial faceting support complete. [Daniel Lindsley]
- Query facets tested. [Daniel Lindsley]
- Bugfix to (field) facets. [Daniel Lindsley]

Using a dict is inappropriate, as the output from Solr
is sorted by count. Now using a two-tuple.
- Backward-incompatible changes to faceting. Date-based faceting is now
present. [Daniel Lindsley]
- Solr implementation of faceting started. Needs more tests. [Daniel
Lindsley]
- Initial faceting support in place. Needs more thought and a Solr
implementation. [Daniel Lindsley]
- Unbreak iterables in queries. [Daniel Lindsley]
- Bugfixes for Unicode handling and loading deleted models. [Daniel
Lindsley]
- Fixed bug in Solr's run method. [Daniel Lindsley]
- Various bug fixes. [Daniel Lindsley]
- Backward-Incompatible: Refactored ModelIndexes to allow greater
customization before indexing. See "prepare()" methods. [Daniel
Lindsley]
- Updated "build_solr_schema" command for revised fields. [Daniel
Lindsley]
- Refactored SearchFields. Lightly backwards-incompatible. [Daniel
Lindsley]
- No more duplicates from the "build_solr_schema" management command.
[Daniel Lindsley]
- Removed the kwargs. Explicit is better than implicit. [Daniel
Lindsley]
- Tests for highlighting. [Daniel Lindsley]
- Added initial highlighting support. Needs tests and perhaps a better
implementation. [Daniel Lindsley]
- Started "build_solr_schema" command. Needs testing with more than one
index. [Daniel Lindsley]
- Argh. ".select_related()" is killing reindexes. Again. [Daniel
Lindsley]
- Stored fields now come back as part of the search result. [Daniel
Lindsley]
- Fixed Solr's SearchQuery.clean to handle reserved words more
appropriately. [Daniel Lindsley]
- Filter types seem solid and have tests. [Daniel Lindsley]
- App renamed (for namespace/sanity/because it's really different
reasons). [Daniel Lindsley]
- Started trying to support the various filter types. Needs testing and
verification. [Daniel Lindsley]
- Fixed tests in light of the change to "OR". [Daniel Lindsley]
- Readded "select_related" to reindex command. [Daniel Lindsley]
- I am a moron. [Daniel Lindsley]
- "OR" is now the default operator. Also, "auto_query" now handles
not'ed keywords. [Daniel Lindsley]
- "More Like This" now implemented and functioning with Solr backend.
[Daniel Lindsley]
- Removed broken references to __name__. [Daniel Lindsley]
- Internal documentation fix. [Daniel Lindsley]
- Solr backend can now clear on a per-model basis. [Daniel Lindsley]
- Solr backend tests fleshed out. Initial stability of Solr. [Daniel
Lindsley]

This needs more work (as does everything) but it seems to be working reliably from my testing (both unit and "real-world"). Onward and upward.
- Massive renaming/refactoring spree. Tests 100% passing again. [Daniel
Lindsley]
- Renamed BaseSearchQuerySet to SearchQuerySet. Now requires
instantiation. [Daniel Lindsley]
- Standardizing syntax. [Daniel Lindsley]
- Backend support update. [Daniel Lindsley]
- An attempt to make sure the main IndexSite is always setup, even
outside web requests. Also needs improvement. [Daniel Lindsley]
- Reindexes now work. [Daniel Lindsley]
- Some painful bits to make things work for now. Needs improvement.
[Daniel Lindsley]
- Support kwargs on the search. [Daniel Lindsley]
- Move solr backend tests in prep for fully testing the backend. [Daniel
Lindsley]
- Some ContentField/StoredField improvements. [Daniel Lindsley]

StoredFields now have a unique template per field (as they should have from the start) and there's a touch more checking. You can also now override the template name for either type of field.
- Fixed backend loading upon unpickling SearchBackend. [Daniel Lindsley]
- Tweak internal doc. [Daniel Lindsley]
- MOAR DOCS. [Daniel Lindsley]
- Internal documentation and cleanup. Also alters the behavior of
SearchQuerySet's "order_by" method slightly, bringing it more in-line
with QuerySet's behavior. [Daniel Lindsley]
- Documentation/license updates. [Daniel Lindsley]
- Fixed ModelIndexes and created tests for them. 100% tests passing
again. [Daniel Lindsley]
- Started refactoring ModelIndexes. Needs tests (and possibly a little
love). [Daniel Lindsley]
- Implemented Solr's boost, clean, multiple order-by. Fixed Solr's score
retrieval (depends on custom pysolr) and exact match syntax. [Daniel
Lindsley]
- Minor changes/cleanup. [Daniel Lindsley]
- Updated docs and a FIXME. [Daniel Lindsley]
- SearchView/SearchForm tests passing. [Daniel Lindsley]
- Changed BaseSearchQuery to accept a SearchBackend instance instead of
the class. [Daniel Lindsley]
- Better dummy implementation, a bugfix to raw_search and
SearchView/SearchForm tests. [Daniel Lindsley]
- Temporarily changed the Solr backend to ignore fields. Pysolr will
need a patch and then reenable this. [Daniel Lindsley]
- Merge branch 'master' of
ssh://danielmckenzie/home/daniel/djangosearch_refactor into HEAD.
[Daniel Lindsley]
- Started SearchView tests and added URLconf. [Daniel Lindsley]
- Started SearchView tests and added URLconf. [Daniel Lindsley]
- Added note about basic use. Needs refactoring. [Matt Croydon]
- Merged index.rst. [Matt Croydon]
- Fixed result lookups when constructing a SearchResult. [Daniel
Lindsley]
- Added more docs. [Daniel Lindsley]
- Added FIXME for exploration on Solr backend. [Daniel Lindsley]
- Solr's SearchQuery now handles phrases (exact match). [Daniel
Lindsley]
- More work on the Solr backend. [Daniel Lindsley]
- Added more imports for future test coverage. [Daniel Lindsley]
- Added stubs for backend tests. [Daniel Lindsley]
- Documentation updates. [Daniel Lindsley]
- Refactored forms/views. Needs tests. [Daniel Lindsley]
- Removed old entries in .gitignore. [Daniel Lindsley]
- Implemented load_all. [Daniel Lindsley]
- Fixed query result retrieval. [Daniel Lindsley]
- Updated documentation index and tweaked overview formatting. [Matt
Croydon]
- Slight docs improvements. [Daniel Lindsley]
- Started work on Solr backend. [Daniel Lindsley]
- Ignore _build. [Matt Croydon]
- Refactored documentation to format better in Sphinx. [Matt Croydon]
- Added _build to .gitignore. [Matt Croydon]
- Added sphinx config for documentation. [Matt Croydon]
- Verified _fill_cache behavior. 100% test pass. [Daniel Lindsley]
- Added a couple new desirable bits of functionality. Mostly stubbed.
[Daniel Lindsley]
- Removed fixme and updated docs. [Daniel Lindsley]
- Removed an old reference to SearchPaginator. [Daniel Lindsley]
- Updated import paths to new backend Base* location. [Daniel Lindsley]
- Relocated base backend classes to __init__.py for consistency with
Django. [Daniel Lindsley]
- BaseSearchQuerySet initial API complete and all but working. One
failing test related to caching results. [Daniel Lindsley]
- Added new (improved?) template path for index templates. [Daniel
Lindsley]
- Removed SearchPaginator, as it no longer provides anything over the
standard Django Paginator. [Daniel Lindsley]
- Added len/iter support to BaseSearchQuerySet. Need to finish getitem
support and test. [Daniel Lindsley]
- Started to update ModelIndex. [Daniel Lindsley]
- Started to alter dummy to match new class names/API. [Daniel Lindsley]
- Little bits of cleanup. [Daniel Lindsley]
- Added overview of where functionality belongs in djangosearch. This
should likely make it's way into other docs and go away eventually.
[Daniel Lindsley]
- BaseSearchQuery now tracks filters via QueryFilter objects. Tests
complete for QueryFilter and nearly complete for BaseSearchQuery.
[Daniel Lindsley]
- Started docs on creating new backends. [Daniel Lindsley]
- Started tests for BaseSearchQuery and BaseSearchQuerySet. [Daniel
Lindsley]
- Fixed site loading. [Daniel Lindsley]
- More work on the Base* classes. [Daniel Lindsley]
- Started docs on creating new backends. [Daniel Lindsley]
- Yet more work on BaseSearchQuerySet. Now with fewer FIXMEs. [Daniel
Lindsley]
- More work on BaseSearchQuerySet and added initial BaseSearchQuery
object. [Daniel Lindsley]
- Removed another chunk of SearchPaginator as SearchQuerySet becomes
more capable. Hopefully, SearchPaginator will simply go away soon.
[Daniel Lindsley]
- Fixed ModelSearchForm to check the site's registered models. [Daniel
Lindsley]
- Reenabled how other backends might load. [Daniel Lindsley]
- Added ignores. [Daniel Lindsley]
- Started documenting what backends are supported and what they can do.
[Daniel Lindsley]
- More work on SearchQuerySet. [Daniel Lindsley]
- More renovation and IndexSite's tests pass 100%. [Daniel Lindsley]
- Fleshed out sites tests. Need to setup environment in order to run
them. [Daniel Lindsley]
- Started adding tests. [Daniel Lindsley]
- First blush at SearchQuerySet. Non-functional, trying to lay out API
and basic funationality. [Daniel Lindsley]
- Removed old results.py in favor of the coming SearchQuerySet. [Daniel
Lindsley]
- Noted future improvements on SearchPaginator. [Daniel Lindsley]
- Removed old reference to autodiscover and added default site a la NFA.
[Daniel Lindsley]
- Commented another use of RELEVANCE. [Daniel Lindsley]
- Little backend tweaks. [Daniel Lindsley]
- Added autodiscover support. [Daniel Lindsley]
- Readded management command. [Daniel Lindsley]
- Added SearchView and ModelSearchForm back in. Needs a little work.
[Daniel Lindsley]
- Readded results. Need to look at SoC for ideas. [Daniel Lindsley]
- Readded paginator. Needs docs/tests. [Daniel Lindsley]
- Readded core backends + solr. Will add others as they reach 100%
functionality. [Daniel Lindsley]
- Added ModelIndex back in. Customized to match new setup. [Daniel
Lindsley]
- Added signal registration as well as some introspection capabilities.
[Daniel Lindsley]
- Initial commit. Basic IndexSite implementation complete. Needs tests.
[Daniel Lindsley]

Page 4 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.