]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
www: stream mboxrd in descending docid order
[public-inbox.git] / lib / PublicInbox / Search.pm
index aa737d63b5f64b7d30df764b6b34ceaf2e3044b0..76a270bca0c01e9c6121c530ff405594f04d6114 100644 (file)
@@ -407,18 +407,17 @@ sub _enquire_once { # retry_reopen callback
        my $enquire = $X{Enquire}->new($xdb);
        $enquire->set_query($query);
        $opts ||= {};
-        my $desc = !$opts->{asc};
        my $rel = $opts->{relevance} // 0;
-       if ($rel == -1) { # ORDER BY docid/UID
+       if ($rel == -2) { # ORDER BY docid/UID (highest first)
+               $enquire->set_weighting_scheme($X{BoolWeight}->new);
+               $enquire->set_docid_order($ENQ_DESCENDING);
+       } elsif ($rel == -1) { # ORDER BY docid/UID (lowest first)
                $enquire->set_weighting_scheme($X{BoolWeight}->new);
                $enquire->set_docid_order($ENQ_ASCENDING);
        } elsif ($rel == 0) {
-               $enquire->set_sort_by_value_then_relevance(TS, $desc);
-       } elsif ($rel == -2) {
-               $enquire->set_weighting_scheme($X{BoolWeight}->new);
-               $enquire->set_docid_order($ENQ_DESCENDING);
+               $enquire->set_sort_by_value_then_relevance(TS, !$opts->{asc});
        } else { # rel > 0
-               $enquire->set_sort_by_relevance_then_value(TS, $desc);
+               $enquire->set_sort_by_relevance_then_value(TS, !$opts->{asc});
        }
 
        # `mairix -t / --threads' or JMAP collapseThreads