about summary refs log tree commit homepage
path: root/lib/PublicInbox/SolverGit.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-12-05 10:11:38 +0000
committerEric Wong <e@80x24.org>2020-12-05 21:41:52 +0000
commit525555d14118f92f86be54c683f797089c52a78d (patch)
tree59baf4193882b020ffe67da2e6e96156e86e8b41 /lib/PublicInbox/SolverGit.pm
parent89990b0cfc8bbdabc8d650325d9e1bc585df8a0c (diff)
downloadpublic-inbox-525555d14118f92f86be54c683f797089c52a78d.tar.gz
isearch: emulate per-inbox search with ->ALL
Using "eidx_key:" boolean prefix to limit results to a given
inbox, we can use ->ALL to emulate and replace per-Inbox
xap15/[0-9] search indices.

With this change, the presence of "extindex.all.topdir" in the
$PI_CONFIG will cause the WWW code to use that extindex and
ignore per-inbox Xapian DBs in xap15/[0-9].

Unfortunately IMAP search still requires old per-inbox indices,
for now.  Mapping extindex Xapian docids to per-Inbox UIDs and
vice-versa is proving tricky.  Fortunately, IMAP search is
rarely used and optional.  The RFCs don't specify expensive
phrase search, either, so `indexlevel=medium' can be used in
per-inbox Xapian indices to save space.

For primarily WWW (and future JMAP) users; this should result in
significant disk space, FD, and page cache footprint savings for
large instances with many inboxes and many cross-posted
messages.
Diffstat (limited to 'lib/PublicInbox/SolverGit.pm')
-rw-r--r--lib/PublicInbox/SolverGit.pm2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm
index 83f7a4ee..a53f28b1 100644
--- a/lib/PublicInbox/SolverGit.pm
+++ b/lib/PublicInbox/SolverGit.pm
@@ -216,7 +216,7 @@ sub filename_query ($) {
 
 sub find_smsgs ($$$) {
         my ($self, $ibx, $want) = @_;
-        my $srch = $ibx->search or return;
+        my $srch = $ibx->isrch or return;
 
         my $post = $want->{oid_b} or die 'BUG: no {oid_b}';
         $post =~ /\A[a-f0-9]+\z/ or die "BUG: oid_b not hex: $post";