diff options
Diffstat (limited to 'lib/PublicInbox/ExtSearchIdx.pm')
-rw-r--r-- | lib/PublicInbox/ExtSearchIdx.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/PublicInbox/ExtSearchIdx.pm b/lib/PublicInbox/ExtSearchIdx.pm index 790ee921..026e1377 100644 --- a/lib/PublicInbox/ExtSearchIdx.pm +++ b/lib/PublicInbox/ExtSearchIdx.pm @@ -116,9 +116,10 @@ sub do_xpost ($$) { my $eml = $req->{eml}; if (my $new_smsg = $req->{new_smsg}) { # 'm' on cross-posted message my $xnum = $req->{xnum}; - $idx->shard_add_xref3($docid, $xnum, $oid, $xibx, $eml); + $self->{oidx}->add_xref3($docid, $xnum, $oid, $xibx->eidx_key); + $idx->shard_add_eidx_info($docid, $oid, $xibx, $eml); } else { # 'd' - $idx->shard_remove_xref3($docid, $oid, $xibx, $eml); + $idx->shard_remove_eidx_info($docid, $oid, $xibx, $eml); } } @@ -135,7 +136,10 @@ sub index_unseen ($) { $new_smsg->{num} = $docid; my $idx = $self->idx_shard($docid); $self->{oidx}->add_overview($eml, $new_smsg); - $idx->index_raw(undef, $eml, $new_smsg, $req->{ibx}); + my $oid = $new_smsg->{blob}; + my $ibx = delete $req->{ibx} or die 'BUG: {ibx} unset'; + $self->{oidx}->add_xref3($docid, $req->{xnum}, $oid, $ibx->eidx_key); + $idx->index_raw(undef, $eml, $new_smsg, $ibx); } sub do_finalize ($) { |