mirror of
https://github.com/Hopiu/xapian-haystack.git
synced 2026-03-16 22:20:31 +00:00
Merged branch 'master'.
This commit is contained in:
commit
ba0b0c8a69
1 changed files with 60 additions and 63 deletions
123
README.rst
123
README.rst
|
|
@ -1,42 +1,17 @@
|
|||
Xapian backend for Django-Haystack
|
||||
==================================
|
||||
|
||||
.. _Travis: https://travis-ci.org/notanumber/xapian-haystack
|
||||
|
||||
.. image:: https://travis-ci.org/notanumber/xapian-haystack.svg?branch=master
|
||||
:target: https://travis-ci.org/notanumber/xapian-haystack
|
||||
|
||||
.. _Django-Haystack: http://haystacksearch.org/
|
||||
|
||||
.. _Xapian: http://xapian.org
|
||||
|
||||
Xapian-haystack is a backend of Django-Haystack_ for the Xapian_ search engine.
|
||||
Xapian-haystack is a backend of `Django-Haystack <http://haystacksearch.org/>`_
|
||||
for the `Xapian <http://xapian.org>`_ search engine.
|
||||
Thanks for checking it out.
|
||||
|
||||
.. _here: http://getting-started-with-xapian.readthedocs.org/en/latest/index.html
|
||||
You can find more information about Xapian `here <http://getting-started-with-xapian.readthedocs.org>`_.
|
||||
|
||||
Haystack is an API for searching in Django websites. xapian-haystack is
|
||||
a bridge from Haystack, the API, to Xapian, a search engine.
|
||||
|
||||
Xapian is a powerful search engine written in C++ that uses probabilistic measures
|
||||
to efficient search on text. More useful information can be found here_ (read the docs).
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
.. _yet: http://trac.xapian.org/ticket/346
|
||||
|
||||
- Python 2.4+ (Python 3.3 not support yet_).
|
||||
- Django 1.5+
|
||||
- Django-Haystack 2.0.X
|
||||
- Xapian 1.0.13+
|
||||
|
||||
.. _Travis:
|
||||
|
||||
In particular, the backend is built on Travis_ using:
|
||||
|
||||
- Python 2.7.6
|
||||
- Django 1.6.4
|
||||
- Django-Haystack (latest)
|
||||
- Xapian 1.2.8 (libxapian22)
|
||||
|
||||
Features
|
||||
--------
|
||||
|
|
@ -48,33 +23,46 @@ Xapian-Haystack provides all the standard features of Haystack:
|
|||
- Sorting
|
||||
- Spelling suggestions
|
||||
|
||||
.. _stemmer: https://en.wikipedia.org/wiki/Stemming
|
||||
|
||||
Additionally, Xapian also uses a stemmer_ to create its index,
|
||||
with support to different languages.
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- Python 2.4+ (Python 3.3 not support `yet <http://trac.xapian.org/ticket/346>`_).
|
||||
- Django 1.5+
|
||||
- Django-Haystack 2.0.X
|
||||
- Xapian 1.0.13+
|
||||
|
||||
In particular, we build this backend on `Travis`_ using:
|
||||
|
||||
- Python 2.7.6
|
||||
- Django 1.6.4
|
||||
- Django-Haystack (latest)
|
||||
- Xapian 1.2.8 (libxapian22)
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
.. _`this gist`: https://gist.github.com/jleclanche/ea0bc333b20ef6aa749c
|
||||
First you need to install Xapian in your machine.
|
||||
We recommend installing it on the virtual environment using
|
||||
`this gist <https://gist.github.com/jleclanche/ea0bc333b20ef6aa749c>`_:
|
||||
activate the virtual environment and run the script.
|
||||
|
||||
First, you need to install Xapian in your machine.
|
||||
We recommend installing it on the virtual environment using `this gist`_.
|
||||
First you activate the virtual environment, and them run the script.
|
||||
|
||||
You can test the installation was successful by running::
|
||||
You can test if the installation was successful by running::
|
||||
|
||||
python -c "import xapian"
|
||||
|
||||
Finally, install Xapian-haystack by running::
|
||||
Finally, install Xapian-Haystack by running::
|
||||
|
||||
pip install git+https://github.com/notanumber/xapian-haystack.git
|
||||
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Xapian is configured as other backends of Haystack.
|
||||
You have to define the connection to the database, which is done to a path to a directory, e.g::
|
||||
You have to define the connection to the database,
|
||||
which is done to a path to a directory, e.g::
|
||||
|
||||
HAYSTACK_CONNECTIONS = {
|
||||
'default': {
|
||||
|
|
@ -83,53 +71,62 @@ You have to define the connection to the database, which is done to a path to a
|
|||
},
|
||||
}
|
||||
|
||||
.. _languages: http://xapian.org/docs/apidoc/html/classXapian_1_1Stem.html
|
||||
The backend has the following optional settings:
|
||||
|
||||
The backend includes the following settings:
|
||||
- ``HAYSTACK_XAPIAN_LANGUAGE``: the stemming language; the default is `english` and the list of available languages
|
||||
can be found `here <http://xapian.org/docs/apidoc/html/classXapian_1_1Stem.html>`_.
|
||||
|
||||
- `HAYSTACK_XAPIAN_LANGUAGE`: the stemming language. By default is english, the list of available languages
|
||||
can be found `here <languages>`_.
|
||||
- ``HAYSTACK_XAPIAN_WEIGHTING_SCHEME``: a tuple with parameters to be passed to the weighting scheme
|
||||
`BM25 <https://en.wikipedia.org/wiki/Okapi_BM25>`_.
|
||||
By default, it uses the same parameters as Xapian recommends; this setting allows you to change them.
|
||||
|
||||
- `HAYSTACK_XAPIAN_WEIGHTING_SCHEME` - sets the weighting scheme used during search.
|
||||
See the default scheme in the source code or see `Xapian::BM25Weight::BM25Weight in the Xapian documentation <http://xapian.org/docs/apidoc/html/classXapian_1_1BM25Weight.html>`_
|
||||
for further information.
|
||||
- ``HAYSTACK_XAPIAN_FLAGS``: the options used to parse `AutoQueries`;
|
||||
the default is ``FLAG_PHRASE | FLAG_BOOLEAN | FLAG_LOVEHATE | FLAG_WILDCARD | FLAG_PURE_NOT``
|
||||
See `here <http://xapian.org/docs/apidoc/html/classXapian_1_1QueryParser.html>`_ for more information
|
||||
on what they mean.
|
||||
|
||||
- `HAYSTACK_XAPIAN_FLAGS`: used to further configure how indexes are stored and manipulated.
|
||||
By default, this value is set to `FLAG_PHRASE | FLAG_BOOLEAN | FLAG_LOVEHATE | FLAG_WILDCARD | FLAG_PURE_NOT`.
|
||||
See the `Xapian::QueryParser::feature_flag in the Xapian documentation <http://xapian.org/docs/apidoc/html/classXapian_1_1QueryParser.html>`_
|
||||
for further explanation of the available Xapian.QueryParser flags.
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
Xapian-Haystack has a test suite in continuous deployment in Travis_. The script `.travis.yml` contains
|
||||
all the steps to run the test suite on your machine.
|
||||
Xapian-Haystack has a test suite in continuous deployment in `Travis`_. The script ``.travis.yml`` contains
|
||||
all the steps required to run the test suite.
|
||||
|
||||
Other way is to clone `Django-Haystack <https://github.com/toastdriven/django-haystack>`_,
|
||||
copy the content of the ``tests/`` folder of Xapian-Haystack to the ``tests/`` folder of Haystack,
|
||||
and copy ``xapian_backend.py`` to ``haystack/backends/`` folder.
|
||||
|
||||
The tests can then be run from the folder ``tests/`` using::
|
||||
|
||||
django-admin.py test --settings=xapian_settings xapian_tests
|
||||
|
||||
|
||||
Source
|
||||
------
|
||||
|
||||
.. _github: http://github.com/notanumber/xapian-haystack/
|
||||
The source code can be found in `github <http://github.com/notanumber/xapian-haystack/>`_.
|
||||
|
||||
The source code can be found in github_.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
This fork of xapian-haystack is maintained by Jorge C. Leitão but
|
||||
`David Sauve <mailto:david.sauve@bag-of-holding.com>`_ was the main contributor of Xapian-Haystack;
|
||||
Xapian-haystack was originally funded by `Trapeze <http://www.trapeze.com>`_.
|
||||
Xapian-Haystack is maintained by Jorge C. Leitão;
|
||||
`David Sauve <mailto:david.sauve@bag-of-holding.com>`_ was the main contributor of Xapian-Haystack and
|
||||
Xapian-Haystack was originally funded by `Trapeze <http://www.trapeze.com>`_.
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Xapian-haystack is Copyright (c) 2009, 2010, 2011, 2012 David Sauve, 2009, 2010 Trapeze and 2014 by Jorge C. Leitão.
|
||||
It is free software, and may be redistributed under the terms specified in the LICENSE file.
|
||||
Xapian-haystack is free software licenced under GNU General Public Licence v2 and
|
||||
Copyright (c) 2009, 2010, 2011, 2012 David Sauve, 2009, 2010 Trapeze, 2014 Jorge C. Leitão.
|
||||
It 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 <http://github.com/notanumber/xapian-haystack/issues>`_
|
||||
Feel free to open an issue `here <http://github.com/notanumber/xapian-haystack/issues>`_
|
||||
or pull request your work.
|
||||
|
||||
You can ask questions on the django-haystack `mailing list <http://groups.google.com/group/django-haystack/>`_
|
||||
or in the `irc channel <irc://irc.freenode.net/haystack>`_.
|
||||
or in the irc ``#haystack``.
|
||||
|
|
|
|||
Loading…
Reference in a new issue