aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xapian/xapian.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/xapian/xapian.scm b/xapian/xapian.scm
index 7222e69..6ab879c 100644
--- a/xapian/xapian.scm
+++ b/xapian/xapian.scm
@@ -166,7 +166,7 @@ generated."
(define increase-termpos! TermGenerator-increase-termpos)
-(define* (parse-query querystring #:key stemmer stemming-strategy (prefixes '()) (range-processors '()))
+(define* (parse-query querystring #:key stemmer stemming-strategy (prefixes '()) (boolean-prefixes '()) (range-processors '()))
(let ((queryparser (new-QueryParser)))
(QueryParser-set-stemmer queryparser stemmer)
(when stemming-strategy
@@ -175,6 +175,10 @@ generated."
((field . prefix)
(QueryParser-add-prefix queryparser field prefix)))
prefixes)
+ (for-each (match-lambda
+ ((field . prefix)
+ (QueryParser-add-boolean-prefix queryparser field prefix)))
+ boolean-prefixes)
(for-each (cut QueryParser-add-rangeprocessor queryparser <>)
range-processors)
(let ((query (QueryParser-parse-query queryparser querystring)))