diff --git a/.dir-locals.el b/.dir-locals.el
index 7a070d2fd9a1e62bb67ebd66b246c3695e832151..63008bd395e87a835bb05e3b74a4e31cfe4fe17b 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -41,4 +41,5 @@
                   ;; prefer keeping source width about ~118, GitHub seems to cut off stuff at either 119 or 120 and
                   ;; it's nicer to look at code in GH when you don't have to scroll back and forth
                   (fill-column . 118)
-                  (clojure-docstring-fill-column . 118))))
+                  (clojure-docstring-fill-column . 118)
+                  (cider-preferred-build-tool . lein))))
diff --git a/frontend/src/metabase/app.js b/frontend/src/metabase/app.js
index 8d4a5f5d39f41d2138768942bf05fc1468b65b16..13e60ea0e94f8ff4d3eb4adbb69fe518b9547ea3 100644
--- a/frontend/src/metabase/app.js
+++ b/frontend/src/metabase/app.js
@@ -103,7 +103,7 @@ function _init(reducers, getRoutes, callback) {
   MetabaseSettings.on("anon-tracking-enabled", () => {
     window[
       "ga-disable-" + MetabaseSettings.get("ga-code")
-    ] = MetabaseSettings.isTrackingEnabled() ? null : true;
+    ] = MetabaseSettings.trackingEnabled() ? null : true;
   });
 
   MetabaseSettings.on("user-locale", async locale => {
diff --git a/frontend/src/metabase/lib/settings.js b/frontend/src/metabase/lib/settings.js
index 517b0912b51b3036b4d51284c54554cf5c8e7caa..40628ece4555971ca77ba7b3926b27b1c8b8dd19 100644
--- a/frontend/src/metabase/lib/settings.js
+++ b/frontend/src/metabase/lib/settings.js
@@ -23,6 +23,7 @@ export type SettingName =
   | "ldap-configured?"
   | "map-tile-server-url"
   | "password-complexity"
+  | "search-typeahead-enabled"
   | "setup-token"
   | "site-url"
   | "types"
@@ -90,10 +91,6 @@ class Settings {
     return /.+\.metabaseapp.com\/?$/i.test(this.get("site-url"));
   }
 
-  isTrackingEnabled() {
-    return this.get("anon-tracking-enabled") || false;
-  }
-
   googleAuthEnabled() {
     return this.get("google-auth-client-id") != null;
   }
@@ -102,16 +99,24 @@ class Settings {
     return this.get("setup-token") != null;
   }
 
-  ssoEnabled() {
-    return this.get("google-auth-client-id") != null;
+  hideEmbedBranding() {
+    return this.get("hide-embed-branding?");
   }
 
   ldapEnabled() {
     return this.get("ldap-configured?");
   }
 
-  hideEmbedBranding() {
-    return this.get("hide-embed-branding?");
+  searchTypeaheadEnabled() {
+    return this.get("search-typeahead-enabled");
+  }
+
+  ssoEnabled() {
+    return this.get("google-auth-client-id") != null;
+  }
+
+  trackingEnabled() {
+    return this.get("anon-tracking-enabled") || false;
   }
 
   docsUrl(page = "", anchor = "") {
diff --git a/frontend/src/metabase/nav/components/SearchBar.jsx b/frontend/src/metabase/nav/components/SearchBar.jsx
index 514d2014fd223929edcf5e083ab95d4856b721f2..e858b4694d14deae77a7fc22be1ddaf85b683765 100644
--- a/frontend/src/metabase/nav/components/SearchBar.jsx
+++ b/frontend/src/metabase/nav/components/SearchBar.jsx
@@ -13,6 +13,7 @@ import OnClickOutsideWrapper from "metabase/components/OnClickOutsideWrapper";
 import SearchResult from "metabase/search/components/SearchResult";
 
 import { DefaultSearchColor } from "metabase/nav/constants";
+import MetabaseSettings from "metabase/lib/settings";
 
 const ActiveSearchColor = lighten(color("nav"), 0.1);
 
@@ -141,7 +142,7 @@ export default class SearchBar extends React.Component {
               }
             }}
           />
-          {active && (
+          {active && MetabaseSettings.searchTypeaheadEnabled() && (
             <div className="absolute left right text-dark" style={{ top: 60 }}>
               {searchText.length > 0 ? (
                 <Card
diff --git a/src/metabase/search/config.clj b/src/metabase/search/config.clj
index ecc2c5837d9242a40d36664ad1ee8f1f6c4fcd08..4792cc9e04d1d7c8fb488432ada0a270bdc0f917 100644
--- a/src/metabase/search/config.clj
+++ b/src/metabase/search/config.clj
@@ -2,7 +2,14 @@
   (:require [cheshire.core :as json]
             [clojure.string :as str]
             [honeysql.core :as hsql]
-            [metabase.models :refer [Card Collection Dashboard Metric Pulse Segment Table]]))
+            [metabase.models :refer [Card Collection Dashboard Metric Pulse Segment Table]]
+            [metabase.models.setting :refer [defsetting]]
+            [metabase.util.i18n :refer [deferred-tru]]))
+
+(defsetting search-typeahead-enabled
+  (deferred-tru "Enable typeahead search in the Metabase navbar?")
+  :type    :boolean
+  :default true)
 
 (def ^:dynamic db-max-results
   "Number of raw results to fetch from the database. This number is in place to prevent massive application DB load by