From 7503aeb540af5afd5cb1b554b3c29f35f5fc918d Mon Sep 17 00:00:00 2001 From: "Eric Wong (Contractor, The Linux Foundation)" Date: Sun, 1 Apr 2018 06:30:37 +0000 Subject: search: reduce columns stored in Xapian We can store :bytes and :lines in doc_data since we never sort or search by them. We don't have much use for the Date: stamp at the moment, either. --- lib/PublicInbox/SearchIdxSkeleton.pm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'lib/PublicInbox/SearchIdxSkeleton.pm') diff --git a/lib/PublicInbox/SearchIdxSkeleton.pm b/lib/PublicInbox/SearchIdxSkeleton.pm index 4f158169..2be64960 100644 --- a/lib/PublicInbox/SearchIdxSkeleton.pm +++ b/lib/PublicInbox/SearchIdxSkeleton.pm @@ -121,18 +121,14 @@ sub remote_remove { die $err if $err; } -# values: [ DS, NUM, BYTES, LINES, TS, MIDS, XPATH, doc_data ] sub index_skeleton_real ($$) { my ($self, $values) = @_; - my $doc_data = pop @$values; - my $xpath = pop @$values; - my $mids = pop @$values; + my ($ts, $num, $mids, $xpath, $doc_data) = @$values; my $smsg = PublicInbox::SearchMsg->new(undef); + $smsg->load_from_data($doc_data); my $doc = $smsg->{doc}; - PublicInbox::SearchIdx::add_values($doc, $values); $doc->set_data($doc_data); - $smsg->load_from_data($doc_data); - my $num = $values->[PublicInbox::Search::NUM]; + PublicInbox::SearchIdx::add_values($doc, $ts, $smsg->ds, $num); my @refs = ($smsg->references =~ /<([^>]+)>/g); $self->delete_article($num) if defined $num; # for reindexing $self->link_and_save($doc, $mids, \@refs, $num, $xpath); -- cgit v1.2.3-24-ge0c7