From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-3.1 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 1CDFA1FAD8 for ; Tue, 25 Aug 2015 01:43:39 +0000 (UTC) Date: Tue, 25 Aug 2015 01:43:39 +0000 From: Eric Wong To: meta@public-inbox.org Subject: [PATCH v2] search: only sort by relevance if requested Message-ID: <20150825014339.GA18556@dcvr.yhbt.net> References: <1440466520-15163-1-git-send-email-e@80x24.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1440466520-15163-1-git-send-email-e@80x24.org> List-Id: Many of our internal search queries do not care about relevance, but is used for proper thread displays. --- v2: set relevance when doing a regular query lib/PublicInbox/Search.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index c61d4cf..d780878 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -76,6 +76,8 @@ sub query { my ($self, $query_string, $opts) = @_; my $query = $self->qp->parse_query($query_string, QP_FLAGS); + $opts ||= {}; + $opts->{relevance} = 1; $self->do_enquire($query, $opts); } @@ -117,7 +119,11 @@ sub do_enquire { $query = Search::Xapian::Query->new(OP_AND, $query, $mail_query); $enquire->set_query($query); - $enquire->set_sort_by_relevance_then_value(TS, 0); + if ($opts->{relevance}) { + $enquire->set_sort_by_relevance_then_value(TS, 0); + } else { + $enquire->set_sort_by_value(TS, 0); + } $opts ||= {}; my $offset = $opts->{offset} || 0; my $limit = $opts->{limit} || 50; -- EW