From 89005294c56bca962bff232552e9d7af8864eb63 Mon Sep 17 00:00:00 2001 From: jorgecarleitao Date: Sat, 17 May 2014 21:38:51 +0200 Subject: [PATCH 1/2] Fixed some typos and text in README. --- README.rst | 123 ++++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/README.rst b/README.rst index bc0fe15..58d1dbc 100644 --- a/README.rst +++ b/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 `_ +for the `Xapian `_ 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 `_. -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 `_). +- Django 1.5+ +- Django-Haystack 2.0.X +- Xapian 1.0.13+ + +In particular, this 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 `_: +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 `_. -- `HAYSTACK_XAPIAN_LANGUAGE`: the stemming language. By default is english, the list of available languages - can be found `here `_. +- ``HAYSTACK_XAPIAN_WEIGHTING_SCHEME``: the weighting scheme used for documents; + the default is `BM25 `_ but others can be chosen from + `this list `_. -- `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 `_ - 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 `_ 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 `_ - 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 `_, +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 `_. -The source code can be found in github_. Credits ------- -This fork of xapian-haystack is maintained by Jorge C. Leitão but -`David Sauve `_ was the main contributor of Xapian-Haystack; -Xapian-haystack was originally funded by `Trapeze `_. +Xapian-Haystack is maintained by Jorge C. Leitão; +`David Sauve `_ was the main contributor of Xapian-Haystack and +Xapian-Haystack was originally funded by `Trapeze `_. + 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 `_ +Feel free to open an issue `here `_ or pull request your work. You can ask questions on the django-haystack `mailing list `_ -or in the `irc channel `_. +or in the irc ``#haystack``. From c989ce5540c07b3665eebef7541516aaf9187e87 Mon Sep 17 00:00:00 2001 From: jorgecarleitao Date: Sat, 17 May 2014 21:46:34 +0200 Subject: [PATCH 2/2] Fixed minor error on README. --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 58d1dbc..38cabbf 100644 --- a/README.rst +++ b/README.rst @@ -32,7 +32,7 @@ Requirements - Django-Haystack 2.0.X - Xapian 1.0.13+ -In particular, this we build this backend on `Travis`_ using: +In particular, we build this backend on `Travis`_ using: - Python 2.7.6 - Django 1.6.4 @@ -76,9 +76,9 @@ The backend has the following optional settings: - ``HAYSTACK_XAPIAN_LANGUAGE``: the stemming language; the default is `english` and the list of available languages can be found `here `_. -- ``HAYSTACK_XAPIAN_WEIGHTING_SCHEME``: the weighting scheme used for documents; - the default is `BM25 `_ but others can be chosen from - `this list `_. +- ``HAYSTACK_XAPIAN_WEIGHTING_SCHEME``: a tuple with parameters to be passed to the weighting scheme + `BM25 `_. + By default, it uses the same parameters as Xapian recommends; this setting allows you to change them. - ``HAYSTACK_XAPIAN_FLAGS``: the options used to parse `AutoQueries`; the default is ``FLAG_PHRASE | FLAG_BOOLEAN | FLAG_LOVEHATE | FLAG_WILDCARD | FLAG_PURE_NOT``