From ab60efa43090b9637cda6059983346837d9705b6 Mon Sep 17 00:00:00 2001 From: Chris Truter <crisptrutski@users.noreply.github.com> Date: Mon, 18 Nov 2024 17:25:08 +0200 Subject: [PATCH] Make fulltext the default if its enabled (#50144) --- src/metabase/search/impl.clj | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/metabase/search/impl.clj b/src/metabase/search/impl.clj index 8d3eee4ba26..e79dbe252a1 100644 --- a/src/metabase/search/impl.clj +++ b/src/metabase/search/impl.clj @@ -11,6 +11,7 @@ [metabase.models.database :as database] [metabase.models.interface :as mi] [metabase.permissions.util :as perms.u] + [metabase.public-settings :as public-settings] [metabase.public-settings.premium-features :as premium-features] [metabase.search.api :as search.api] [metabase.search.config @@ -206,7 +207,10 @@ (defmethod supported-engine? :search.engine/in-place [_] true) (defmethod supported-engine? :search.engine/fulltext [_] (search.fulltext/supported-db? (mdb/db-type))) -(def ^:private default-engine :search.engine/in-place) +(defn- default-engine [] + (if (public-settings/experimental-fulltext-search-enabled) + :search.engine/fulltext + :search.engine/in-place)) (defn- known-engine? [engine] (let [registered? #(contains? (methods supported-engine?) %)] @@ -224,15 +228,16 @@ :else engine))) - default-engine)) + (default-engine))) ;; This forwarding is here for tests, we should clean those up. (defn- apply-default-engine [{:keys [search-engine] :as search-ctx}] - (when (= default-engine search-engine) - (throw (ex-info "Missing implementation for default search-engine" {:search-engine search-engine}))) - (log/debugf "Missing implementation for %s so instead using %s" search-engine default-engine) - (assoc search-ctx :search-engine default-engine)) + (let [default (default-engine)] + (when (= default search-engine) + (throw (ex-info "Missing implementation for default search-engine" {:search-engine search-engine}))) + (log/debugf "Missing implementation for %s so instead using %s" search-engine default) + (assoc search-ctx :search-engine default))) (defmethod search.api/results :default [search-ctx] (search.api/results (apply-default-engine search-ctx))) -- GitLab