Moved queryparser flags to an overrideable setting (HAYSTACK_XAPIAN_FLAGS). Default values are stored in DEFAULT_XAPIAN_FLAGS

This commit is contained in:
David Sauve 2011-03-25 18:32:57 -07:00
parent 1ef5dc3525
commit b6b92c85de
1 changed files with 9 additions and 5 deletions

View File

@ -34,6 +34,14 @@ DOCUMENT_CT_TERM_PREFIX = DOCUMENT_CUSTOM_TERM_PREFIX + 'CONTENTTYPE'
BACKEND_NAME = 'xapian'
DEFAULT_XAPIAN_FLAGS = (
xapian.QueryParser.FLAG_PHRASE |
xapian.QueryParser.FLAG_BOOLEAN |
xapian.QueryParser.FLAG_LOVEHATE |
xapian.QueryParser.FLAG_WILDCARD |
xapian.QueryParser.FLAG_PURE_NOT
)
class InvalidIndexError(HaystackError):
"""Raised when an index can not be opened."""
@ -541,11 +549,7 @@ class SearchBackend(BaseSearchBackend):
elif query_string == '':
return xapian.Query() # Match nothing
flags = xapian.QueryParser.FLAG_PHRASE \
| xapian.QueryParser.FLAG_BOOLEAN \
| xapian.QueryParser.FLAG_LOVEHATE \
| xapian.QueryParser.FLAG_WILDCARD \
| xapian.QueryParser.FLAG_PURE_NOT
flags = getattr(settings, 'HAYSTACK_XAPIAN_FLAGS', DEFAULT_XAPIAN_FLAGS)
qp = xapian.QueryParser()
qp.set_database(self._database())
qp.set_stemmer(xapian.Stem(self.language))