notanumber / xapian-haystack
- Source
- Commits
- Network (9)
- Issues (2)
- Downloads (10)
- Wiki (4)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Mon Dec 07 08:14:17 -0800 2009 | |
| |
AUTHORS | ||
| |
LICENSE | Tue Dec 01 12:55:22 -0800 2009 | |
| |
MANIFEST.in | ||
| |
README.rst | ||
| |
RELEASES | Wed Jan 27 16:43:21 -0800 2010 | |
| |
TODO | Wed Jan 27 16:44:49 -0800 2010 | |
| |
setup.py | Wed Jan 27 06:18:42 -0800 2010 | |
| |
tests/ | Tue Feb 09 11:04:53 -0800 2010 | |
| |
xapian_backend.py | Tue Feb 09 18:09:33 -0800 2010 |
Xapian-Haystack -- A backend for Django-Haystack
Overview
xapian-haystack is a backend for use with the Django Haystack search API and the Xapian search engine.
- More information on Haystack can be found here: haystackserach.org.
- More information on Xapian can be found here: xapian.org.
Requirements
- Python 2.4 (May work with 2.3, but untested)
- Django 1.0.x
- Django-Haystack 1.0
- Xapian 1.0.13+ (May work with earlier versions, but untested)
- mod_wsgi 1.3.X
Notes
- Due to an issue with mod_python possibly causing deadlocks with Xapian (issue #364), when Python is not invoked through the "main interpreter", 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 take care when using RealTimeSearchIndex to either set WSGIDaemonProcess processes=1 or use some other way of ensuring that there are not multiple attempts to write to the indexes. Alternatively, use SearchIndex and a cronjob to reindex content at set time intervals (sample cronjob can be found here <http://gist.github.com/216247>_) or derive your own SearchIndex to implement some other form of keeping your indexes up to date.
Installation
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
Add HAYSTACK_XAPIAN_PATH to settings.py
Set HAYSTACK_SEARCH_ENGINE to xapian
Testing
The easiest way to test xapian-haystack is to symlink or copy the xapian_haystack/tests folder into the haystack/tests folder so that your source tree resembles this layout:
django-haystack
+---haystack
| |
| +---backends
| |
| +---solr_backend.py
| +---whoosh_backend.py
| +---xapian_backend.py
+---tests
|
+---core
+---solr_tests
+---whoosh_tests
+---xapian_tests
Once this is done, the tests can be executed in a similar fashion as the rest of the Haystack test-suite:
django-admin.py test xapian_tests --settings=xapian_settings
Source
The latest source code can always be found here: github.com/notanumber/xapian-haystack
Credits
xapian-haystack is maintained by David Sauve, and is funded by Trapeze.
License
xapian-haystack is Copyright (c) 2009-2010 David Sauve, Trapeze. It is free software, and may be redistributed under the terms specified in the LICENSE file.
Questions, Comments, Concerns:
Feel free to open an issue here: github.com/notanumber/xapian-haystack/issues Alternatively, ask questions on the django-haystack mailing list or irc channel.

