diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-02-26 23:41:11 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-02-28 23:06:20 +0000 |
commit | e63db5a1a563fb18db53fe1b8349dc52f325bd8b (patch) | |
tree | e44069b2f6ea05a782b775b93bb72be8b27b5208 /lib/PublicInbox/SearchIdx.pm | |
parent | 09b85106d936263ce31db3be76fdb8727d29c28a (diff) | |
download | public-inbox-e63db5a1a563fb18db53fe1b8349dc52f325bd8b.tar.gz |
We will need timestamp, YYYYMMDD, article number, and line count for querying thread information (including XOVER for NNTP).
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r-- | lib/PublicInbox/SearchIdx.pm | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 00b24d68..b5d43d12 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -141,18 +141,20 @@ sub add_val ($$$) { $doc->add_value($col, $num); } -sub add_values ($$$$) { - my ($smsg, $bytes, $num, $lines) = @_; +sub add_values ($$) { + my ($doc, $values) = @_; - my $ts = $smsg->ts; - my $doc = $smsg->{doc}; - add_val($doc, &PublicInbox::Search::TS, $ts); + my $ts = $values->[PublicInbox::Search::TS]; + add_val($doc, PublicInbox::Search::TS, $ts); - defined($num) and add_val($doc, &PublicInbox::Search::NUM, $num); + my $num = $values->[PublicInbox::Search::NUM]; + defined($num) and add_val($doc, PublicInbox::Search::NUM, $num); - defined($bytes) and add_val($doc, &PublicInbox::Search::BYTES, $bytes); + my $bytes = $values->[PublicInbox::Search::BYTES]; + defined($bytes) and add_val($doc, PublicInbox::Search::BYTES, $bytes); - add_val($doc, &PublicInbox::Search::LINES, $lines); + my $lines = $values->[PublicInbox::Search::LINES]; + add_val($doc, PublicInbox::Search::LINES, $lines); my $yyyymmdd = strftime('%Y%m%d', gmtime($ts)); add_val($doc, PublicInbox::Search::YYYYMMDD, $yyyymmdd); @@ -307,7 +309,8 @@ sub add_message { } my $lines = $mime->body_raw =~ tr!\n!\n!; - add_values($smsg, $bytes, $num, $lines); + my @values = ($smsg->ts, $num, $bytes, $lines); + add_values($doc, \@values); my $tg = $self->term_generator; @@ -360,7 +363,8 @@ sub add_message { my $refs = parse_references($smsg); my $data = $smsg->to_doc_data($blob); if ($threader) { - $threader->thread_msg($mid, $smsg->ts, $xpath, $data); + push @values, $mid, $xpath, $data; + $threader->thread_msg(\@values); } else { link_message($self, $smsg, $refs, $old_tid); } |