about summary refs log tree commit diff
path: root/xapian/xapian.scm
diff options
context:
space:
mode:
authorArun Isaac2026-09-22 00:33:20 +0100
committerArun Isaac2026-09-23 02:00:51 +0100
commite19dbc587dfc161fb0d9e63aefa0f8c90ffc8c26 (patch)
tree79820dc33bc14d4a6f3ac4d334f12b32d7c73861 /xapian/xapian.scm
parent2690fd58e871f09a8ad5e43ce5a1fe89539aaad5 (diff)
downloadguile-xapian-e19dbc587dfc161fb0d9e63aefa0f8c90ffc8c26.tar.gz
guile-xapian-e19dbc587dfc161fb0d9e63aefa0f8c90ffc8c26.tar.lz
guile-xapian-e19dbc587dfc161fb0d9e63aefa0f8c90ffc8c26.zip
Support parsing pure NOT queries.
Diffstat (limited to 'xapian/xapian.scm')
-rw-r--r--xapian/xapian.scm11
1 files changed, 8 insertions, 3 deletions
diff --git a/xapian/xapian.scm b/xapian/xapian.scm
index caa84b4..af1cf5b 100644
--- a/xapian/xapian.scm
+++ b/xapian/xapian.scm
@@ -195,7 +195,8 @@ generated."
                       (phrases? #t)
                       (love-hate? #t)
                       any-case-boolean?
-                      wildcard?)
+                      wildcard?
+                      pure-not?)
   "Parse @var{querystring} and return a @code{Query} object.
 
 @var{prefixes} and @var{boolean-prefixes} must be association lists
@@ -214,7 +215,10 @@ supported.
 When @var{any-case-boolean?} is @code{#t}, boolean operators are
 supported even if they are not in capitals.
 
-When @var{wildcard?} is @code{#t}, wildcards are supported."
+When @var{wildcard?} is @code{#t}, wildcards are supported.
+
+When @var{pure-not?} is @code{#t}, pure @code{NOT} queries such as
+@samp{NOT apples} are allowed."
   (let ((queryparser (new-QueryParser)))
     (QueryParser-set-stemmer queryparser stemmer)
     (when stemming-strategy
@@ -235,7 +239,8 @@ When @var{wildcard?} is @code{#t}, wildcards are supported."
                                                        (get-flag QueryParser-FLAG-PHRASE phrases?)
                                                        (get-flag QueryParser-FLAG-LOVEHATE love-hate?)
                                                        (get-flag QueryParser-FLAG-BOOLEAN-ANY-CASE any-case-boolean?)
-                                                       (get-flag QueryParser-FLAG-WILDCARD wildcard?)))))
+                                                       (get-flag QueryParser-FLAG-WILDCARD wildcard?)
+                                                       (get-flag QueryParser-FLAG-PURE-NOT pure-not?)))))
       (delete-QueryParser queryparser)
       query)))