messages: Use xapian search.
authorRicardo Wurmus <rekado@elephly.net>
Wed, 22 Apr 2020 13:02:22 +0000 (15:02 +0200)
committerRicardo Wurmus <rekado@elephly.net>
Wed, 22 Apr 2020 13:02:22 +0000 (15:02 +0200)
mumi/messages.scm

index 24bd4956b782591e51827a00af7e7804afe3b25f..5a6ca343dd10eceaa536e1713eb5081940984b9c 100644 (file)
@@ -33,6 +33,7 @@
   #:use-module (email email)
   #:use-module (mumi config)
   #:use-module (mumi debbugs)
+  #:use-module (mumi xapian)
   #:use-module ((mumi bugs) #:prefix db:)
   #:use-module (web client)
   #:export (search-bugs
@@ -175,8 +176,8 @@ result for a while."
   "Return a list of all bugs matching the given QUERY string.
 Intersect the result with the id sets in the list SETS."
   (let* ((ids (delete-duplicates
-               (map (compose string->number mu:bugid)
-                    (mu:message-list query))))
+               (map string->number
+                    (search query))))
          (filtered (match sets
                      (() ids)
                      (_ (apply lset-intersection eq? ids sets)))))
@@ -196,8 +197,8 @@ Intersect the result with the id sets in the list SETS."
   (let* ((recent-ids
           (sort
            (delete-duplicates
-            (map (compose string->number mu:bugid)
-                 (mu:message-list "date:1m..")))
+            (map string->number
+                 (search "mdate:1m..")))
            <))
          (ids (take (reverse recent-ids)
                     (min amount (length recent-ids)))))