From patchwork Thu Dec 29 20:23:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45692 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 8435527BBE9; Thu, 29 Dec 2022 20:25:29 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3F2FA27BBEB for ; Thu, 29 Dec 2022 20:25:27 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSb-00073n-Gd; Thu, 29 Dec 2022 15:25:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSY-00072k-OQ for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSY-0005Xa-2A for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSX-0007RW-Px for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 1/7] xapian: Index several terms as boolean and without positions. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545128480 (code B ref 60410); Thu, 29 Dec 2022 20:25:01 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:11 +0000 Received: from localhost ([127.0.0.1]:32992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRj-0007PD-07 for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:11 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRg-0007Ow-Mi for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=4GDGv4cJX+1jwLS5McnWkpeTHuqoEbm7+URNJUAiogo=; b=euRJmt7pUrHEPyzY1yvNBqnmbo OsPbc0jKSh6oduDO35ZpeYkpAcqMlHvvFLihg88+AISiQuHd09hzCToiKDHEgRbTXDCKC0TKGj4Lw 7T4vKCELxH+JVzcKKr5VXOC+HOFw1+W8ahpnFQrjJzvT+ZiLssn3uBCwmZ56tILGVVk9FKWrd3hdp GMCGmY2EeU1QDGxmfo2HbL8whqZ972DrRJzH7l/tXNm+E/Gg5TQ27gZmObAA7rPhIwAZec0ttorf6 2zvCGmmC1N53KZg7E9Di1xR7Mj36GwsAK7PzQI5TxnKTh65LmTGApzjM8s/hLz9Zc3namy+BDRlLj cLO6Ud2A==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRd-000oIe-0X; Fri, 30 Dec 2022 01:54:05 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:54 +0000 Message-Id: <20221229202400.28565-1-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * mumi/xapian.scm (index-files): Index bug number, submitter, authors, owner, severity, tags, status, file and msgids as boolean terms. Index bug number, severity, tags, status, file and msgids without position information. --- mumi/xapian.scm | 65 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 14 deletions(-) diff --git a/mumi/xapian.scm b/mumi/xapian.scm index 68169e8..06a54cd 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -1,6 +1,6 @@ ;;; mumi -- Mediocre, uh, mail interface ;;; Copyright © 2020, 2022 Ricardo Wurmus -;;; Copyright © 2020 Arun Isaac +;;; Copyright © 2020, 2022 Arun Isaac ;;; ;;; This program is free software: you can redistribute it and/or ;;; modify it under the terms of the GNU Affero General Public License @@ -119,20 +119,57 @@ messages and index their contents in the Xapian database at DBPATH." (term-generator (make-term-generator #:stem (make-stem "en") #:document doc))) ;; Index fields with a suitable prefix. This allows for - ;; searching separate fields as in subject:foo, - ;; from:bar, etc. - (index-text! term-generator bugid #:prefix "B") - (index-text! term-generator submitter #:prefix "A") - (index-text! term-generator authors #:prefix "XA") + ;; searching separate fields as in subject:foo, from:bar, + ;; etc. We do not keep track of the within document + ;; frequencies of terms that will be used for boolean + ;; filtering. We do not generate position information for + ;; fields that will not need phrase searching or NEAR + ;; searches. + (index-text! term-generator + bugid + #:prefix "B" + #:wdf-increment 0 + #:positions? #f) + (index-text! term-generator + submitter + #:prefix "A" + #:wdf-increment 0) + (index-text! term-generator + authors + #:prefix "XA" + #:wdf-increment 0) (index-text! term-generator subjects #:prefix "S") - (index-text! term-generator (or (bug-owner bug) "") #:prefix "XO") - (index-text! term-generator (or (bug-severity bug) "normal") #:prefix "XS") - (index-text! term-generator (or (bug-tags bug) "") #:prefix "XT") - (index-text! term-generator (cond - ((bug-done bug) "done") - (else "open")) #:prefix "XSTATUS") - (index-text! term-generator file #:prefix "F") - (index-text! term-generator msgids #:prefix "XU") + (index-text! term-generator + (or (bug-owner bug) "") + #:prefix "XO" + #:wdf-increment 0) + (index-text! term-generator + (or (bug-severity bug) "normal") + #:prefix "XS" + #:wdf-increment 0 + #:positions? #f) + (index-text! term-generator + (or (bug-tags bug) "") + #:prefix "XT" + #:wdf-increment 0 + #:positions? #f) + (index-text! term-generator + (cond + ((bug-done bug) "done") + (else "open")) + #:prefix "XSTATUS" + #:wdf-increment 0 + #:positions? #f) + (index-text! term-generator + file + #:prefix "F" + #:wdf-increment 0 + #:positions? #f) + (index-text! term-generator + msgids + #:prefix "XU" + #:wdf-increment 0 + #:positions? #f) ;; Index subject and body without prefixes for general ;; search. From patchwork Thu Dec 29 20:23:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45691 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 14B9F27BBF0; Thu, 29 Dec 2022 20:25:28 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3DCFD27BBE9 for ; Thu, 29 Dec 2022 20:25:27 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSf-00075i-AM; Thu, 29 Dec 2022 15:25:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSY-00072m-ON for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSY-0005Xk-FS for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSY-0007Re-BF for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 2/7] xapian: Declare some prefixes as boolean. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545528505 (code B ref 60410); Thu, 29 Dec 2022 20:25:02 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:15 +0000 Received: from localhost ([127.0.0.1]:32996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRn-0007Pg-Fg for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:15 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60018) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRh-0007Oz-Mm for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=vw43Ev6NNC1FNSe67JTbpPLmDxSes1fNIbwm3ZE5HWk=; b=mUH0RGQ3mKQiogLGEQwQwsfZkm i7q3aZc1LS0Fdr0VQlRnIt8VqZZI0t+t1ik2yBJGUMIrrtXq0Co9rzawW+nZN2B/S4UEe4e2Pgckp wL2WDv2Wk93atz79hns9eCG7DYEE4o2fHWifkcmDNYHoFtuhlbmiHWcTnt8MzlhNakF96kYTJGKrT J3ePeT+9CCdTa91WYGUuzEAOYEHcwC5dyydtj6hVknT3qZE1h5DfG7C2rSOIBBeS19QW32Ysm52QN nc7pZ/vH68oBBrHw5tXGqoF3uS+VMpFTamZ6sVtWaKVjELs8ZeUGD9zxhgrL+dsl1aJJCy6RosGI7 ICwByMaw==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRe-000oIe-2r; Fri, 30 Dec 2022 01:54:07 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:55 +0000 Message-Id: <20221229202400.28565-2-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Some prefixes will only ever be used to filter the rest of the query and not for matching approximately using relevance weighting schemes. Such prefixes should be indexed as boolean prefixes. * mumi/xapian.scm (parse-query*): Support boolean prefixes. (search): Declare author, msgid, owner, severity, status, submitter and tag as boolean prefixes. --- mumi/xapian.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mumi/xapian.scm b/mumi/xapian.scm index 06a54cd..7bf84d3 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -249,7 +249,7 @@ messages and index their contents in the Xapian database at DBPATH." (invalid (pk invalid ""))) token)) -(define* (parse-query* querystring #:key stemmer stemming-strategy (prefixes '())) +(define* (parse-query* querystring #:key stemmer stemming-strategy (prefixes '()) (boolean-prefixes '())) (let ((queryparser (new-QueryParser)) (date-range-processor (new-DateRangeProcessor 0 "date:" 0)) (mdate-range-processor (new-DateRangeProcessor 1 "mdate:" 0))) @@ -261,6 +261,10 @@ messages and index their contents in the Xapian database at DBPATH." ((field . prefix) (QueryParser-add-prefix queryparser field prefix))) prefixes) + (for-each (match-lambda + ((field . prefix) + (QueryParser-add-boolean-prefix queryparser field prefix))) + boolean-prefixes) (QueryParser-add-rangeprocessor queryparser date-range-processor) (QueryParser-add-rangeprocessor queryparser mdate-range-processor) (let ((query (QueryParser-parse-query queryparser querystring @@ -324,14 +328,14 @@ intact." ;; prefixes for field search. (query (parse-query* querystring* #:stemmer (make-stem "en") - #:prefixes '(("submitter" . "A") - ("author" . "XA") - ("subject" . "S") - ("owner" . "XO") - ("severity" . "XS") - ("tag" . "XT") - ("status" . "XSTATUS") - ("msgid" . "XU")))) + #:prefixes '(("subject" . "S")) + #:boolean-prefixes '(("author" . "XA") + ("msgid" . "XU") + ("owner" . "XO") + ("severity" . "XS") + ("status" . "XSTATUS") + ("submitter" . "A") + ("tag" . "XT")))) (enq (enquire db query))) ;; Collapse on mergedwith value (Enquire-set-collapse-key enq 2 1) From patchwork Thu Dec 29 20:23:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45696 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 1DE6F27BBED; Thu, 29 Dec 2022 20:26:07 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 9623327BBE9 for ; Thu, 29 Dec 2022 20:26:06 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSc-00073p-4k; Thu, 29 Dec 2022 15:25:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSZ-00072o-DV for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSY-0005bM-Ut for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSY-0007Rl-QD for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 3/7] xapian: Do not override the default OR implicit query operator. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545628518 (code B ref 60410); Thu, 29 Dec 2022 20:25:02 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:16 +0000 Received: from localhost ([127.0.0.1]:32999 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRn-0007Pi-SM for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:16 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRi-0007P6-Nt for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=bFqZEMo7WoFbufShiTKz6/b/HnpEwGdR0u3a7wnopuU=; b=ULcxqccGlFOE4W85LLnz2omaAw NthGzG6pzz1flFj7aahbO/AlqJmNqjD/2Anik0SP5a/M++OisvyJ9qPNLE8bW98ok7cmvONc+yZLS 0qbaWbqhdxFcoV0ZB/+GP8OdgfkYKeBC6HX1OlLNHbUXBPw4PRhkYfNAVog2X+7rAXu9v3zz6iEGL zprV8w/q/sFhOl+DmdA0R3wl6hFWwKrXSFKU1Ew6w8rC6rLepm4+moZNkx7rhFeYMAxdh+0/lsWUX FHzHRuyeGCitELIizw6V/oXnXuxhQCjwobnj/998aL7gdqR5P7EDASwxloE+vyr01uaYlWTLJiK4h 0rCWMSVw==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRg-000oIe-1R; Fri, 30 Dec 2022 01:54:08 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:56 +0000 Message-Id: <20221229202400.28565-3-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches An implicit AND operator is overly restrictive. It was only necessary because prefixes that should have been indexed as boolean prefixes were not. * mumi/xapian.scm (parse-query*): Do not override the default OR implicit query operator. --- mumi/xapian.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/mumi/xapian.scm b/mumi/xapian.scm index 7bf84d3..ae01acc 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -253,7 +253,6 @@ messages and index their contents in the Xapian database at DBPATH." (let ((queryparser (new-QueryParser)) (date-range-processor (new-DateRangeProcessor 0 "date:" 0)) (mdate-range-processor (new-DateRangeProcessor 1 "mdate:" 0))) - (QueryParser-set-default-op queryparser (Query-OP-AND)) (QueryParser-set-stemmer queryparser stemmer) (when stemming-strategy (QueryParser-set-stemming-strategy queryparser stemming-strategy)) From patchwork Thu Dec 29 20:23:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45695 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E8EC527BBEB; Thu, 29 Dec 2022 20:26:04 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 2669727BBE9 for ; Thu, 29 Dec 2022 20:26:04 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSd-00074p-54; Thu, 29 Dec 2022 15:25:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSZ-00072t-ML for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSZ-0005fB-CE for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSZ-0007Rv-8F for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 4/7] messages: Remove unused set intersection feature in search-bugs. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545628526 (code B ref 60410); Thu, 29 Dec 2022 20:25:03 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:16 +0000 Received: from localhost ([127.0.0.1]:33001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRo-0007Pv-7r for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:16 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60032) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRk-0007PQ-RN for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=QNJrLPaNEoGu50FEJK41fDz1nLktxCISk/UjPdlprD4=; b=CGQ6dOXGmeWB2hivDBM21Qx3Au uEwiR6JtbIy5c7NAQqV6SXPlTKHK4CI+OiNewIjVoRut9MO0fSnuoR15fLkMhSdkwIXBtMLHwh4Ac o7HvFlKzcpR1OKUXCX62FRZzbGGMAemJkCI9VwcmO8GVIMVZ1OpztwKxbBfQujTUcrlPZZN96qYya SeO/JaN3N4vifaMiebDqcCxudjVINlJe35uaKVdrwI+9VUqHIsinxjpLw1Eu4QqjSGIenkWVsBi0v ft+bm1yvGEmukwh1npykp5YxF6DRuUS6cVCUe4POz56gt037rTknj9STuQLx8rTZcUPtxYK3XXuHz +a4YDX5A==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRi-000oIe-09; Fri, 30 Dec 2022 01:54:10 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:57 +0000 Message-Id: <20221229202400.28565-4-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * mumi/messages.scm (search-bugs): Remove unused set intersection feature. --- mumi/messages.scm | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/mumi/messages.scm b/mumi/messages.scm index fb305bb..75ac3b1 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -1,6 +1,6 @@ ;;; mumi -- Mediocre, uh, mail interface ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus -;;; Copyright © 2018, 2019 Arun Isaac +;;; Copyright © 2018, 2019, 2022 Arun Isaac ;;; ;;; This program is free software: you can redistribute it and/or ;;; modify it under the terms of the GNU Affero General Public License @@ -250,16 +250,12 @@ PATCH-SET. If PATCH-SET is not provided, return all patches." message-numbers) "\n"))) -(define* (search-bugs query #:key (sets '()) (max 400)) - "Return a list of all bugs matching the given QUERY string. -Intersect the result with the id sets in the list SETS." - (let* ((ids (map string->number - (search query))) - (filtered (match sets - (() ids) - (_ (apply lset-intersection eq? ids sets))))) - (status-with-cache (if (> (length filtered) max) - (take filtered max) filtered)))) +(define* (search-bugs query #:key (max 400)) + "Return a list of all bugs matching the given QUERY string." + (let ((ids (map string->number + (search query)))) + (status-with-cache (if (> (length ids) max) + (take ids max) ids)))) (define (recent-bugs amount) "Return up to AMOUNT bugs with most recent activity." From patchwork Thu Dec 29 20:23:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45697 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A582A27BBED; Thu, 29 Dec 2022 20:26:10 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 35B4727BBE9 for ; Thu, 29 Dec 2022 20:26:10 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSc-00074M-M4; Thu, 29 Dec 2022 15:25:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSa-000734-7a for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSZ-0005iS-P5 for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSZ-0007S2-KJ for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 5/7] messages: Offload limiting search results to xapian. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545628533 (code B ref 60410); Thu, 29 Dec 2022 20:25:03 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:16 +0000 Received: from localhost ([127.0.0.1]:33003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRo-0007Q3-Hc for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:16 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRl-0007PR-L5 for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=0/34m44bo463M8Ul6nn3IOJp6V5ulLwe1K1pRmSm4TE=; b=d/+UBmz/e0BeZmfHE5Q1cJracs /fuz4Zqf7tHt7FzvMc3G3CSq9kAtbxULW15QgOizEGiJ9d4D00QpjYLESjdDGNGtWTdkCRu4c2GP/ oN1a1hnTCOrWO6oS5tFsUeuK1FbTJvH0esc8QNQzOajTzvU0Ce/L9Ol+7cAEPl1Yyq1e1xBizwpU6 dd4IHJv8QroF5MlSLToZU2rqXRtIHyYpo0UQ7nikFQXWedOEKvcfdl8r5li6RWy/d1pnSJM3gB4tb 6RomkKethHeCxSIA/WLlCD+uQbnbRdgzTavVRqDt1LehM8UROSafkVC2QG2x9iRCKwurBEfsYDapI RyMVl+CA==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRj-000oIe-1x; Fri, 30 Dec 2022 01:54:12 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:58 +0000 Message-Id: <20221229202400.28565-5-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * mumi/messages.scm (search-bugs): Offload limiting search results to max to xapian. --- mumi/messages.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mumi/messages.scm b/mumi/messages.scm index 75ac3b1..b3ae962 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -252,10 +252,8 @@ PATCH-SET. If PATCH-SET is not provided, return all patches." (define* (search-bugs query #:key (max 400)) "Return a list of all bugs matching the given QUERY string." - (let ((ids (map string->number - (search query)))) - (status-with-cache (if (> (length ids) max) - (take ids max) ids)))) + (status-with-cache (map string->number + (search query #:pagesize max)))) (define (recent-bugs amount) "Return up to AMOUNT bugs with most recent activity." From patchwork Thu Dec 29 20:23:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45693 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 2C6D527BBED; Thu, 29 Dec 2022 20:25:45 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6AF3327BBE9 for ; Thu, 29 Dec 2022 20:25:44 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSf-00076E-Lb; Thu, 29 Dec 2022 15:25:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSa-00073N-E2 for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSa-0005io-4r for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSa-0007S9-0A for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 6/7] cache: Specify that cache! returns the cached value. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234545728540 (code B ref 60410); Thu, 29 Dec 2022 20:25:03 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:17 +0000 Received: from localhost ([127.0.0.1]:33005 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRo-0007QF-T6 for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:17 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:60056) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRn-0007Pe-Gr for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=vVNlO2A+h3rKD06nw0bskPLkeJBoPFHaLZcsrZTNYZY=; b=Uf1J14tvOTXj6YLy9PKC9odylU DLGSr+J0WQLzNWWjSrlKTTD6n9hrH12ZntcHxUaba78Y2xfJlumSXsynoDpYLy7sYQr9HXkh0xRYR FAhZkHgyxzHwkaYI9kXudF2x2GyDai7CNqXESnO0S0VRndCajkr0n97gStt2j86WwEJ9s5t5gbMyB nIwOB+PlbSOFscySnyqojkQBD1bq+J3267WXEL6mD7roGsxyyKNvPaAei9/nmjsla1SOp9HCVq++D 9R3pCbjIRHho8j7pk6LqLG1lT+Q0LXFaqJN5Qlru0TCmAMVjxgDlsP0zg3uNH147gAa0jBya/1756 MTho+W/g==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRl-000oIe-0h; Fri, 30 Dec 2022 01:54:13 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:23:59 +0000 Message-Id: <20221229202400.28565-6-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * mumi/cache.scm (cache!): Specify in the docstring that cache! returns the cached value. --- mumi/cache.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mumi/cache.scm b/mumi/cache.scm index 13b21f9..98a7856 100644 --- a/mumi/cache.scm +++ b/mumi/cache.scm @@ -1,5 +1,6 @@ ;;; mumi -- Mediocre, uh, mail interface ;;; Copyright © 2020 Ricardo Wurmus +;;; Copyright © 2022 Arun Isaac ;;; ;;; This program is free software: you can redistribute it and/or ;;; modify it under the terms of the GNU Affero General Public License @@ -34,7 +35,7 @@ expired or return #F." (define* (cache! key value #:optional (ttl (%config 'cache-ttl))) "Store VALUE for the given KEY and mark it to expire after TTL -seconds." +seconds. Return VALUE." (let ((t (current-time))) (hash-set! %cache key `(#:expires ,(+ t ttl) #:value ,value)) value)) From patchwork Thu Dec 29 20:24:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Isaac X-Patchwork-Id: 45694 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9723227BBED; Thu, 29 Dec 2022 20:26:03 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 01C2D27BBEB for ; Thu, 29 Dec 2022 20:26:03 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pAzSc-000749-Fx; Thu, 29 Dec 2022 15:25:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pAzSa-00073d-Ps for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pAzSa-0005j1-GI for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pAzSa-0007SH-Bp for guix-patches@gnu.org; Thu, 29 Dec 2022 15:25:04 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#60410] [PATCH 7/7] xapian: Preserve order of search results. Resent-From: Arun Isaac Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Dec 2022 20:25:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60410 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 60410@debbugs.gnu.org, Ricardo Wurmus Cc: Arun Isaac Received: via spool by 60410-submit@debbugs.gnu.org id=B60410.167234547328573 (code B ref 60410); Thu, 29 Dec 2022 20:25:04 +0000 Received: (at 60410) by debbugs.gnu.org; 29 Dec 2022 20:24:33 +0000 Received: from localhost ([127.0.0.1]:33008 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzS5-0007Qn-83 for submit@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:33 -0500 Received: from mugam.systemreboot.net ([139.59.75.54]:51358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pAzRp-0007Q8-9f for 60410@debbugs.gnu.org; Thu, 29 Dec 2022 15:24:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=systemreboot.net; s=default; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=lBP7dpGu5sh1cldj46SDOEo9gkGoDzs6S6162/abQGI=; b=cyaYoAJZ6v995IrrsikTrA0PGw c7HmrXGC799XV1lMxhzpog665MkNWB+BUUnVfsPtzZGrx1lZVp+YiiDGK5rblhpWxm24X08CEEa5K tIQRGGk69Ut1wPbTRVKOFMjXJQowfgjjmi1H+1sk0bf5ZtJfkPKhS+ha45U1cIa2H8Y5eGyhoWzRk I6tTv6dBOQIcdVuScUTUUel4a9Jk3AJG8LIM/bsQ0GZ3FRFYgJiSgfDn+klBycTeScE69Nmm+J8AY 3iEZOhbihGhoR4vw+OOWeR/n+L/4iH58OdqY+HsSx3tteXgmnZ/m+TVnbqwXtrokdITsNSganP2Hw R6yeTvdg==; Received: from [192.168.2.1] (port=38338 helo=localhost.localdomain) by systemreboot.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1pAzRm-000oIe-2b; Fri, 30 Dec 2022 01:54:15 +0530 From: Arun Isaac Date: Thu, 29 Dec 2022 20:24:00 +0000 Message-Id: <20221229202400.28565-7-arunisaac@systemreboot.net> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221229201809.27997-1-arunisaac@systemreboot.net> References: <20221229201809.27997-1-arunisaac@systemreboot.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Xapian orders search results by relevance. Preserve this order. * mumi/xapian.scm (search): Reverse search results after consing to preserve the original order. * mumi/messages.scm (status-with-cache): Do not sort bugs by their bug number. Preserve the order of bugs passed to this function. --- mumi/messages.scm | 13 ++++--------- mumi/xapian.scm | 21 +++++++++++---------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/mumi/messages.scm b/mumi/messages.scm index b3ae962..fd52571 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -64,15 +64,10 @@ (define (status-with-cache ids) "Invoke GET-STATUS, but only on those IDS that have not been cached yet. Return new results alongside cached results." - (let* ((cached (filter-map cached? ids)) - (uncached-ids (lset-difference eq? - ids - (map bug-num cached))) - (new (filter-map bug-status uncached-ids ))) - ;; Cache new things - (map (lambda (bug) (cache! (bug-num bug) bug)) new) - ;; Return everything from cache - (sort (append cached new) (lambda (a b) (< (bug-num a) (bug-num b)))))) + (map (lambda (id) + (or (cached? id) + (cache! id (bug-status id)))) + ids)) (define (extract-name address) (or (assoc-ref address 'name) diff --git a/mumi/xapian.scm b/mumi/xapian.scm index ae01acc..7ca5bb8 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -339,16 +339,17 @@ intact." ;; Collapse on mergedwith value (Enquire-set-collapse-key enq 2 1) ;; Fold over the results, return bug id. - (mset-fold (lambda (item acc) - (cons - (document-data (mset-item-document item)) - acc)) - '() - ;; Get an Enquire object from the database with the - ;; search results. Then, extract the MSet from the - ;; Enquire object. - (enquire-mset enq - #:maximum-items pagesize)))))) + (reverse + (mset-fold (lambda (item acc) + (cons + (document-data (mset-item-document item)) + acc)) + '() + ;; Get an Enquire object from the database with the + ;; search results. Then, extract the MSet from the + ;; Enquire object. + (enquire-mset enq + #:maximum-items pagesize))))))) (define* (index! #:key full?) "Index all Debbugs log files corresponding to the selected