From 04939d5db13168e127c6b18dd366c21c16cf170a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 25 Aug 2015 01:08:02 +0000 Subject: search: only sort by relevance if requested Many of our internal search queries do not care about relevance, but is used for proper thread displays. --- lib/PublicInbox/Search.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox/Search.pm') diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index c61d4cf6..d7808789 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; -- cgit v1.2.3-24-ge0c7