]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
search: query_xover uses skeleton DB iff available
[public-inbox.git] / lib / PublicInbox / Search.pm
index 0f102dac0b72414d87c52233030e81f3ddfd5bd5..a796cf654a76f9ce48446082d24ea6e3f0ca4189 100644 (file)
@@ -160,7 +160,7 @@ sub new {
                }
                warn "v2 repo with $parts found in $dir\n";
                $self->{xdb} = $xdb;
-               $self->{skel} = Search::Xapian::Database->new("$dir/all");
+               $self->{skel} = Search::Xapian::Database->new("$dir/skel");
        } else {
                $self->{xdb} = Search::Xapian::Database->new($self->xdir);
        }
@@ -317,11 +317,17 @@ sub num_range_processor {
 sub query_xover {
        my ($self, $beg, $end, $offset) = @_;
        my $qp = Search::Xapian::QueryParser->new;
-       $qp->set_database($self->{xdb});
+       $qp->set_database($self->{skel} || $self->{xdb});
        $qp->add_valuerangeprocessor($self->num_range_processor);
        my $query = $qp->parse_query("$beg..$end", QP_FLAGS);
 
-       _do_enquire($self, $query, {num => 1, limit => 200, offset => $offset});
+       my $opts = {
+               enquire => enquire_skel($self),
+               num => 1,
+               limit => 200,
+               offset => $offset,
+       };
+       _do_enquire($self, $query, $opts);
 }
 
 sub lookup_skeleton {