Reusing this bit seems to make sense as mail and code search
are similar enough w.r.t. setting up sort options. This
deduplication will become more useful as -cindex will
likely combine code and mail search to generate associations
between inboxes and code repos.
---
lib/PublicInbox/CodeSearch.pm | 11 +----------
lib/PublicInbox/Search.pm | 8 ++++++--
2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/lib/PublicInbox/CodeSearch.pm b/lib/PublicInbox/CodeSearch.pm
index 1dfc124f..a5ccce03 100644
--- a/lib/PublicInbox/CodeSearch.pm
+++ b/lib/PublicInbox/CodeSearch.pm
@@ -106,16 +106,7 @@ sub mset {
$qry = $PublicInbox::Search::X{Query}->new(
PublicInbox::Search::OP_FILTER(),
$qry, 'T'.'c');
-
- my $enq = $PublicInbox::Search::X{Enquire}->new($self->xdb);
- $enq->set_query($qry);
- if ($opt->{relevance}) {
- $enq->set_sort_by_relevance_then_value(CT, !$opt->{asc});
- } else {
- $enq->set_sort_by_value_then_relevance(CT, !$opt->{asc});
- }
- $self->retry_reopen($self->can('enquire_once'), $enq,
- $opt->{offset} || 0, $opt->{limit} || 50);
+ $self->do_enquire($qry, $opt, CT);
}
1;
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index 6986cb88..a4fef17b 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -390,7 +390,11 @@ sub mset {
$qry = $X{Query}->new(OP_FILTER(), $qry,
$X{Query}->new(OP_VALUE_RANGE(), THREADID, $tid, $tid));
}
+ do_enquire($self, $qry, $opt, TS);
+}
+sub do_enquire { # shared with CodeSearch
+ my ($self, $qry, $opt, $col) = @_;
my $enq = $X{Enquire}->new(xdb($self));
$enq->set_query($qry);
my $rel = $opt->{relevance} // 0;
@@ -401,9 +405,9 @@ sub mset {
$enq->set_weighting_scheme($X{BoolWeight}->new);
$enq->set_docid_order($ENQ_ASCENDING);
} elsif ($rel == 0) {
- $enq->set_sort_by_value_then_relevance(TS, !$opt->{asc});
+ $enq->set_sort_by_value_then_relevance($col, !$opt->{asc});
} else { # rel > 0
- $enq->set_sort_by_relevance_then_value(TS, !$opt->{asc});
+ $enq->set_sort_by_relevance_then_value($col, !$opt->{asc});
}
# `lei q -t / --threads' or JMAP collapseThreads; but don't collapse