diff options
-rw-r--r-- | lib/PublicInbox/Search.pm | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index b7b215f9..831c4fd7 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -74,10 +74,14 @@ sub reopen { $_[0]->{xdb}->reopen } # read-only sub query { my ($self, $query_string, $opts) = @_; - my $query = $self->qp->parse_query($query_string, QP_FLAGS); + my $query; $opts ||= {}; - $opts->{relevance} = 1; + unless ($query_string eq '') { + $query = $self->qp->parse_query($query_string, QP_FLAGS); + $opts->{relevance} = 1; + } + $self->do_enquire($query, $opts); } @@ -104,8 +108,11 @@ sub get_thread { sub do_enquire { my ($self, $query, $opts) = @_; my $enquire = $self->enquire; - - $query = Search::Xapian::Query->new(OP_AND, $query, $mail_query); + if (defined $query) { + $query = Search::Xapian::Query->new(OP_AND,$query,$mail_query); + } else { + $query = $mail_query; + } $enquire->set_query($query); if ($opts->{relevance}) { $enquire->set_sort_by_relevance_then_value(TS, 0); |