A Xapian backend for Haystack
Find a file
2009-10-08 14:48:20 -04:00
tests Updated test layout so that it is the same as Haystack itself. This way, it can be dropped into Haystack and run just like the rest of the tests. 2009-10-07 16:10:21 -04:00
.gitignore Updated .gitignore with *.tmproj and *.DS_Store 2009-06-19 09:01:58 -04:00
AUTHORS Updated AUTHORS with thanks to Joshua Jonah 2009-09-01 19:46:04 -04:00
LICENSE Renamed COPYING to LICENSE 2009-10-02 00:35:34 +08:00
MANIFEST.in Added default files for a release on PyPI and updated README with some information regarding the installation. 2009-10-02 00:35:34 +08:00
README Updated README with notes on how to avoid 500 errors from multiple write access attempts on re-indexing. 2009-10-08 14:48:20 -04:00
setup.py Added default files for a release on PyPI and updated README with some information regarding the installation. 2009-10-02 00:35:34 +08:00
TODO Updated TODO 2009-08-11 09:28:37 -04:00
xapian_backend.py Modified SearchBackend to accept limit_to_registered_models in order to properly support in SHA b329b9795 of Haystack 2009-10-08 14:42:58 -04:00

Overview
--------
xapian-haystack is a backend for use with the Django Haystack search API.

More information on Haystack can be found here: http://haystacksearch.org/

xapian-haystack is licensed under the GPL, please see the included LICENSE
file for more information.

Requirements
------------

- Django 1.0.x
- Django-Haystack 1.0BETA
- Xapian 1.13.X (May work with earlier versions, but untested)
- mod_wsgi 1.3.X

Notes
-----

- Due to an issue with mod_python causing deadlocks with Xapian (http://trac.xapian.org/ticket/185), mod_python is not supported with xapian-haystack.  It may work, with some tweaking, but your mileage will vary.
- Because Xapian does not support simultaneous WritableDatabase connections, it is *strongly* recommended that users either set `WSGIDaemonProcess processes=1` or override the default SearchIndex class to remove the post-save and post-delete signals that cause an immediate re-index.  Instead, manually re-index your site content through a cronjob at pre-determined times.

Installation
------------

1. Copy or symlink `xapian_backend.py` into `haystack/backends/` or install
   it by running one of the following commands::

    python setup.py install

    # or

    pip install xapian-haystack

    # or

    easy_install xapian-haystack

2. Add `HAYSTACK_XAPIAN_PATH` to `settings.py`
3. Set `HAYSTACK_SEARCH_ENGINE` to `xapian`

Source
------

The latest source code can always be found here: http://github.com/notanumber/xapian-haystack/

Testing
-------

Provided that Django, Haystack, and xapian-haystack are all in your Python 
path, simply change to the xapian-haystack folder and execute:

    django-admin.py test tests --settings=tests.settings


Questions, Comments, Concerns:
------------------------------

Feel free to open an issue here: http://github.com/notanumber/xapian-haystack/issues