mirror of
https://github.com/Hopiu/xapian-haystack.git
synced 2026-03-16 22:20:31 +00:00
A Xapian backend for Haystack
| tests | ||
| .gitignore | ||
| AUTHORS | ||
| LICENSE | ||
| MANIFEST.in | ||
| README | ||
| setup.py | ||
| TODO | ||
| xapian_backend.py | ||
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
------------
- Python 2.4 (May work with 2.3, but untested)
- Django 1.0.x
- Django-Haystack 1.0BETA
- Xapian 1.0.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. A sample index with signals removed can be found here: http://gist.github.com/214254. Instead, manually re-index your site content through a cronjob at pre-determined times. A sample cronjob can be found here: http://gist.github.com/216247.
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