From e4cce9e1f903e3a64ca038bf1279220f0680b06a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Jul 2022 14:14:17 +0200 Subject: xapian: search: Convert msgid string to hash. --- mumi/xapian.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mumi/xapian.scm b/mumi/xapian.scm index 8024c6d..9c594d6 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -272,10 +272,15 @@ intact." (lambda (db) (let* ((querystring* (string-join (map (lambda (token) - (if (or (string-prefix? "date:" token) - (string-prefix? "mdate:" token)) - (sanitize-date-range token) - token)) + (cond + ((or (string-prefix? "date:" token) + (string-prefix? "mdate:" token)) + (sanitize-date-range token)) + ((string-prefix? "msgid:" token) + (let ((msgid (substring token (string-length "msgid:")))) + (format #false "msgid:~a" + (string-hash msgid)))) + (else token))) (tokenize querystring)))) ;; Parse querystring passing a stemmer and suitable ;; prefixes for field search. -- cgit v1.2.3