diff options
Diffstat (limited to 'lib/PublicInbox/SearchIdxShard.pm')
-rw-r--r-- | lib/PublicInbox/SearchIdxShard.pm | 11 |
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; |