From b6b92c85de73749f304021560cfbef666d84bf9a Mon Sep 17 00:00:00 2001 From: David Sauve Date: Fri, 25 Mar 2011 18:32:57 -0700 Subject: [PATCH] Moved queryparser flags to an overrideable setting (HAYSTACK_XAPIAN_FLAGS). Default values are stored in DEFAULT_XAPIAN_FLAGS --- xapian_backend.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/xapian_backend.py b/xapian_backend.py index 4ba365a..f7d5270 100755 --- a/xapian_backend.py +++ b/xapian_backend.py @@ -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))