about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Search.pm15
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);