   ([query filter limit reader analyzer]
      (search query filter limit nil nil reader analyzer))
   ([query filter limit after-doc-id after-score reader analyzer]
-     (let [searcher (IndexSearcher. reader)
-           parser (QueryParser. (Version/LUCENE_35) "fulltext" analyzer)
-           q (.parse parser query)
-           top-docs (if (nil? after-doc-id)
-                      (if (nil? filter)
-                        (.search searcher q limit)
-                        (.search searcher q filter limit))
-                      (if (nil? filter)
-                        (.searchAfter searcher
-                                      (ScoreDoc. after-doc-id after-score)
-                                      q
-                                      limit)
-                        (.searchAfter searcher
-                                      (ScoreDoc. after-doc-id after-score)
-                                      q
-                                      filter
-                                      limit)))]
-
-       (. searcher close)
+     (if (and (not-empty query) (not-any? #(= (first query) %) #{\*\?}))
+       (let [searcher (IndexSearcher. reader)
+             parser (QueryParser. (Version/LUCENE_35) "fulltext" analyzer)
+             q (.parse parser query)
+             top-docs (if (nil? after-doc-id)
+                        (if (nil? filter)
+                          (.search searcher q limit)
+                          (.search searcher q filter limit))
+                        (if (nil? filter)
+                          (.searchAfter searcher
+                                        (ScoreDoc. after-doc-id after-score)
+                                        q
+                                        limit)
+                          (.searchAfter searcher
+                                        (ScoreDoc. after-doc-id after-score)
+                                        q
+                                        filter
+                                        limit)))]
+
+         (. searcher close)
        
-       {:total-hits (.totalHits top-docs)
-        :docs (map #(assoc (document-to-map (second %))
-                      :index {:doc-id (.doc (first %))
-                              :score (.score (first %))})
-                   (partition 2
-                              (interleave
-                               (.scoreDocs top-docs)
-                               (get-docs reader (.scoreDocs top-docs)))))})))
+         {:total-hits (.totalHits top-docs)
+          :docs (map #(assoc (document-to-map (second %))
+                        :index {:doc-id (.doc (first %))
+                                :score (.score (first %))})
+                     (partition 2
+                                (interleave
+                                 (.scoreDocs top-docs)
+                                 (get-docs reader
+                                           (.scoreDocs top-docs)))))})
+       {:total-hits 0
+        :docs nil})))
 
 (defn search-jump-to-page
   "This function performs a search and drops results from the unwanted

  (let [{:keys [feed
                slug
                title
                draft
                language
                published
                updated
                content]}
        vix-doc]

    (doto #^Document (Document.)

                              (apply str
                                     (interpose "\n"
                                                [title
                                                 subtitle
                                                 (when content
                                                   (distill-plaintext
                                                    content))
                                                 (when description
                                                   (distill-plaintext
                                                    description))]))
                              :analyzed))
          
          (.add (create-field "feed" feed :indexed-not-analyzed :stored))
