about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdxShard.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/SearchIdxShard.pm')
-rw-r--r--lib/PublicInbox/SearchIdxShard.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm
index 579ed196..b6eef6bd 100644
--- a/lib/PublicInbox/SearchIdxShard.pm
+++ b/lib/PublicInbox/SearchIdxShard.pm
@@ -94,6 +94,8 @@ sub shard_worker_loop ($$$$$) {
                         my $over_fn = $1;
                         $over_fn =~ tr/\0/\n/;
                         $self->over_check(PublicInbox::Over->new($over_fn));
+                } elsif ($line =~ /\AE ([0-9]+)\n/) {
+                        $self->reindex_docid($1 + 0);
                 } else {
                         chomp $line;
                         my $eidx_key;
@@ -223,4 +225,13 @@ sub shard_over_check {
         }
 }
 
+sub shard_reindex_docid {
+        my ($self, $docid) = @_;
+        if (my $w = $self->{w}) {
+                print $w "E $docid\n" or die "failed to write to shard: $!";
+        } else {
+                $self->reindex_docid($docid);
+        }
+}
+
 1;