From: Eric Wong <e@80x24.org>
Date: Tue, 27 Oct 2020 07:54:21 +0000 (+0000)
Subject: searchidx: index eidx_key as a boolean term
X-Git-Tag: v1.7.0~1680
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=cf27d2a29bf2a0c8cb670b9d775fab405ace9f79;p=public-inbox.git

searchidx: index eidx_key as a boolean term

Using `O' (owner) here (according Xapian omega's
termprefixes.rst) since we could say the newsgroup or inbox is
the owner of the given message.
---

diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 061a8153..5171c610 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -369,6 +369,7 @@ sub add_xapian ($$$$) {
 	index_headers($self, $smsg);
 
 	if (defined(my $eidx_key = $smsg->{eidx_key})) {
+		$doc->add_boolean_term('O'.$eidx_key);
 		$doc->add_boolean_term('P'.
 				"$eidx_key:$smsg->{num}:$smsg->{blob}");
 	}
@@ -460,6 +461,7 @@ sub add_xref3 {
 	begin_txn_lazy($self);
 	my $doc = _get_doc($self, $docid, $oid) or return;
 	term_generator($self)->set_document($doc);
+	$doc->add_boolean_term('O'.$eidx_key);
 	$doc->add_boolean_term('P'."$eidx_key:$xnum:$oid");
 	index_list_id($self, $doc, $eml);
 	$self->{xdb}->replace_document($docid, $doc);