From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 948E51F424 for ; Mon, 23 Apr 2018 05:06:00 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] search: avoid repeated mbox results from search Date: Mon, 23 Apr 2018 05:06:00 +0000 Message-Id: <20180423050600.12199-1-e@80x24.org> List-Id: Previous search queries already set sort order on the Enquire object, altering the ordering of results and was causing messages to be redundantly downloaded via POST /$INBOX/?q=$QUERY&x=m So stop caching the Search::Xapian::Enquire object since it wasn't providing any measurable performance improvement. --- lib/PublicInbox/Search.pm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index 5aabda0..69eca9f 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -219,14 +219,13 @@ sub _do_enquire { sub _enquire_once { my ($self, $query, $opts) = @_; - my $enquire = enquire($self); + my $enquire = Search::Xapian::Enquire->new($self->{xdb}); $enquire->set_query($query); $opts ||= {}; my $desc = !$opts->{asc}; if (($opts->{mset} || 0) == 2) { $enquire->set_docid_order(Search::Xapian::ENQ_ASCENDING()); $enquire->set_weighting_scheme(Search::Xapian::BoolWeight->new); - delete $self->{enquire}; } elsif ($opts->{relevance}) { $enquire->set_sort_by_relevance_then_value(TS, $desc); } else { @@ -334,11 +333,6 @@ sub subject_normalized { $subj; } -sub enquire { - my ($self) = @_; - $self->{enquire} ||= Search::Xapian::Enquire->new($self->{xdb}); -} - sub help { my ($self) = @_; $self->qp; # parse altids -- EW