diff --git a/docs/reference/query-languages/esql/_snippets/functions/layout/kql.md b/docs/reference/query-languages/esql/_snippets/functions/layout/kql.md
index 3ebbb86154e10..94a156bdc8a8a 100644
--- a/docs/reference/query-languages/esql/_snippets/functions/layout/kql.md
+++ b/docs/reference/query-languages/esql/_snippets/functions/layout/kql.md
@@ -2,8 +2,7 @@
 
 ## `KQL` [esql-kql]
 ```{applies_to}
-stack: preview 9.0.0
-serverless: preview
+stack: preview 9.0.0, ga 9.1.0
 ```
 
 **Syntax**
diff --git a/docs/reference/query-languages/esql/_snippets/functions/layout/match.md b/docs/reference/query-languages/esql/_snippets/functions/layout/match.md
index 585822c2219ac..a9ed4dfe6d6a6 100644
--- a/docs/reference/query-languages/esql/_snippets/functions/layout/match.md
+++ b/docs/reference/query-languages/esql/_snippets/functions/layout/match.md
@@ -2,8 +2,7 @@
 
 ## `MATCH` [esql-match]
 ```{applies_to}
-stack: preview 9.0.0
-serverless: preview
+stack: preview 9.0.0, ga 9.1.0
 ```
 
 **Syntax**
diff --git a/docs/reference/query-languages/esql/_snippets/functions/layout/match_phrase.md b/docs/reference/query-languages/esql/_snippets/functions/layout/match_phrase.md
index 04cf9356ba140..6eb9e17bf35f9 100644
--- a/docs/reference/query-languages/esql/_snippets/functions/layout/match_phrase.md
+++ b/docs/reference/query-languages/esql/_snippets/functions/layout/match_phrase.md
@@ -2,8 +2,7 @@
 
 ## `MATCH_PHRASE` [esql-match_phrase]
 ```{applies_to}
-stack: preview 9.1.0
-serverless: preview
+stack: unavailable 9.0, ga 9.1.0
 ```
 
 **Syntax**
diff --git a/docs/reference/query-languages/esql/_snippets/functions/layout/qstr.md b/docs/reference/query-languages/esql/_snippets/functions/layout/qstr.md
index 62c268a2cf812..745d5ddc0f4e0 100644
--- a/docs/reference/query-languages/esql/_snippets/functions/layout/qstr.md
+++ b/docs/reference/query-languages/esql/_snippets/functions/layout/qstr.md
@@ -2,8 +2,7 @@
 
 ## `QSTR` [esql-qstr]
 ```{applies_to}
-stack: preview 9.0.0
-serverless: preview
+stack: preview 9.0.0, ga 9.1.0
 ```
 
 **Syntax**
diff --git a/docs/reference/query-languages/esql/_snippets/lists/search-functions.md b/docs/reference/query-languages/esql/_snippets/lists/search-functions.md
index b12c6f3f45eb8..76b0929065a13 100644
--- a/docs/reference/query-languages/esql/_snippets/lists/search-functions.md
+++ b/docs/reference/query-languages/esql/_snippets/lists/search-functions.md
@@ -1,5 +1,5 @@
-* [preview] [`KQL`](../../functions-operators/search-functions.md#esql-kql)
-* [preview] [`MATCH`](../../functions-operators/search-functions.md#esql-match)
-* [preview] [`MATCH_PHRASE`](../../functions-operators/search-functions.md#esql-match_phrase)
-* [preview] [`QSTR`](../../functions-operators/search-functions.md#esql-qstr)
+* [`KQL`](../../functions-operators/search-functions.md#esql-kql)
+* [`MATCH`](../../functions-operators/search-functions.md#esql-match)
+* [`MATCH_PHRASE`](../../functions-operators/search-functions.md#esql-match_phrase)
+* [`QSTR`](../../functions-operators/search-functions.md#esql-qstr)
 % * [preview] [`TERM`](../../functions-operators/search-functions.md#esql-term)
diff --git a/docs/reference/query-languages/esql/_snippets/operators/layout/match_operator.md b/docs/reference/query-languages/esql/_snippets/operators/layout/match_operator.md
index c692aefe61579..2a303e0ba07b0 100644
--- a/docs/reference/query-languages/esql/_snippets/operators/layout/match_operator.md
+++ b/docs/reference/query-languages/esql/_snippets/operators/layout/match_operator.md
@@ -1,7 +1,6 @@
 ### Match operator (`:`) [esql-match-operator]
 ```{applies_to}
-stack: preview 9.0.0
-serverless: preview
+stack: preview 9.0, ga 9.1
 ```
 
 The only search operator is match (`:`).
@@ -13,12 +12,6 @@ The only search operator is match (`:`).
 :class: text-center
 :::
 
-
-::::{warning}
-Do not use on production environments. This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
-::::
-
-
 The match operator performs a [match query](/reference/query-languages/query-dsl/query-dsl-match-query.md) on the specified field. Returns true if the provided query matches the row.
 
 The match operator is equivalent to the [match function](../../../functions-operators/search-functions.md#esql-match).
diff --git a/docs/reference/query-languages/esql/kibana/definition/functions/kql.json b/docs/reference/query-languages/esql/kibana/definition/functions/kql.json
index 315c23d18ed01..f3fe7c2df4c11 100644
--- a/docs/reference/query-languages/esql/kibana/definition/functions/kql.json
+++ b/docs/reference/query-languages/esql/kibana/definition/functions/kql.json
@@ -32,6 +32,6 @@
   "examples" : [
     "FROM books\n| WHERE KQL(\"author: Faulkner\")"
   ],
-  "preview" : true,
+  "preview" : false,
   "snapshot_only" : false
 }
diff --git a/docs/reference/query-languages/esql/kibana/definition/functions/match.json b/docs/reference/query-languages/esql/kibana/definition/functions/match.json
index 713327c40b55a..e00c20d8819fc 100644
--- a/docs/reference/query-languages/esql/kibana/definition/functions/match.json
+++ b/docs/reference/query-languages/esql/kibana/definition/functions/match.json
@@ -734,6 +734,6 @@
     "FROM books\n| WHERE MATCH(author, \"Faulkner\")",
     "FROM books\n| WHERE MATCH(title, \"Hobbit Back Again\", {\"operator\": \"AND\"})\n| KEEP title;"
   ],
-  "preview" : true,
+  "preview" : false,
   "snapshot_only" : false
 }
diff --git a/docs/reference/query-languages/esql/kibana/definition/functions/match_phrase.json b/docs/reference/query-languages/esql/kibana/definition/functions/match_phrase.json
index d05c8e76bfecf..3ab94b9d49f0d 100644
--- a/docs/reference/query-languages/esql/kibana/definition/functions/match_phrase.json
+++ b/docs/reference/query-languages/esql/kibana/definition/functions/match_phrase.json
@@ -58,6 +58,6 @@
   "examples" : [
     "FROM books\n| WHERE MATCH_PHRASE(author, \"William Faulkner\")"
   ],
-  "preview" : true,
+  "preview" : false,
   "snapshot_only" : false
 }
diff --git a/docs/reference/query-languages/esql/kibana/definition/functions/qstr.json b/docs/reference/query-languages/esql/kibana/definition/functions/qstr.json
index cecb3ff06e26b..cd709f69c68a8 100644
--- a/docs/reference/query-languages/esql/kibana/definition/functions/qstr.json
+++ b/docs/reference/query-languages/esql/kibana/definition/functions/qstr.json
@@ -47,6 +47,6 @@
     "FROM books\n| WHERE QSTR(\"author: Faulkner\")",
     "FROM books\n| WHERE QSTR(\"title: Hobbjt~\", {\"fuzziness\": 2})"
   ],
-  "preview" : true,
+  "preview" : false,
   "snapshot_only" : false
 }
diff --git a/docs/reference/query-languages/esql/kibana/definition/operators/match_operator.json b/docs/reference/query-languages/esql/kibana/definition/operators/match_operator.json
index dd7ab0c33190d..44307d2807023 100644
--- a/docs/reference/query-languages/esql/kibana/definition/operators/match_operator.json
+++ b/docs/reference/query-languages/esql/kibana/definition/operators/match_operator.json
@@ -531,6 +531,6 @@
   "examples" : [
     "FROM books\n| WHERE author:\"Faulkner\""
   ],
-  "preview" : true,
+  "preview" : false,
   "snapshot_only" : false
 }
diff --git a/docs/reference/query-languages/esql/limitations.md b/docs/reference/query-languages/esql/limitations.md
index 615876d806627..e68635d9b298e 100644
--- a/docs/reference/query-languages/esql/limitations.md
+++ b/docs/reference/query-languages/esql/limitations.md
@@ -105,8 +105,7 @@ In addition, when [querying multiple indexes](docs-content://explore-analyze/que
 
 ## Full-text search [esql-limitations-full-text-search]
 
-[preview] {{esql}}'s support for [full-text search](/reference/query-languages/esql/functions-operators/search-functions.md) is currently in Technical Preview.
-One limitation of full-text search is that it is necessary to use the search function,
+One limitation of [full-text search](/reference/query-languages/esql/functions-operators/search-functions.md) is that it is necessary to use the search function,
 like [`MATCH`](/reference/query-languages/esql/functions-operators/search-functions.md#esql-match),
 in a [`WHERE`](/reference/query-languages/esql/commands/processing-commands.md#esql-where) command directly after the
 [`FROM`](/reference/query-languages/esql/commands/source-commands.md#esql-from) source command, or close enough to it.
diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Kql.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Kql.java
index cadab7faaf911..b373becca9965 100644
--- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Kql.java
+++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Kql.java
@@ -37,9 +37,9 @@ public class Kql extends FullTextFunction {
 
     @FunctionInfo(
         returnType = "boolean",
-        preview = true,
-        appliesTo = { @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0") },
-        // @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
+        appliesTo = {
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0"),
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
         description = "Performs a KQL query. Returns true if the provided KQL query string matches the row.",
         examples = { @Example(file = "kql-function", tag = "kql-with-field") }
     )
diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Match.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Match.java
index 60dca4b8f1a7d..53aa87f4b861a 100644
--- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Match.java
+++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/Match.java
@@ -135,9 +135,9 @@ public class Match extends FullTextFunction implements OptionalArgument, PostAna
 
     @FunctionInfo(
         returnType = "boolean",
-        preview = true,
-        appliesTo = { @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0") },
-        // @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
+        appliesTo = {
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0"),
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
         description = """
             Use `MATCH` to perform a <<query-dsl-match-query,match query>> on the specified field.
             Using `MATCH` is equivalent to using the `match` query in the Elasticsearch Query DSL.""",
diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchOperator.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchOperator.java
index fb678037d2244..64dcc1dcd150e 100644
--- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchOperator.java
+++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchOperator.java
@@ -30,9 +30,9 @@ public class MatchOperator extends Match {
     @FunctionInfo(
         returnType = "boolean",
         operator = ":",
-        preview = true,
-        appliesTo = { @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0") },
-        // @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
+        appliesTo = {
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0"),
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
         description = """
             Use the match operator (`:`) to perform a <<query-dsl-match-query,match query>> on the specified field.
             Using `:` is equivalent to using the `match` query in the Elasticsearch Query DSL.
diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchPhrase.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchPhrase.java
index 5951538bfd919..134096460a3d7 100644
--- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchPhrase.java
+++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/MatchPhrase.java
@@ -92,8 +92,9 @@ public class MatchPhrase extends FullTextFunction implements OptionalArgument, P
 
     @FunctionInfo(
         returnType = "boolean",
-        preview = true,
-        appliesTo = { @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.1.0") },
+        appliesTo = {
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.UNAVAILABLE, version = "9.0"),
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
         description = """
             Use `MATCH_PHRASE` to perform a [`match_phrase`](/reference/query-languages/query-dsl/query-dsl-match-query-phrase.md) on the
             specified field.
diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/QueryString.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/QueryString.java
index b7fd5ae53a150..4e201a17a4aec 100644
--- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/QueryString.java
+++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/fulltext/QueryString.java
@@ -104,9 +104,9 @@ public class QueryString extends FullTextFunction implements OptionalArgument {
 
     @FunctionInfo(
         returnType = "boolean",
-        preview = true,
-        appliesTo = { @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0") },
-        // @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
+        appliesTo = {
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.PREVIEW, version = "9.0.0"),
+            @FunctionAppliesTo(lifeCycle = FunctionAppliesToLifecycle.GA, version = "9.1.0") },
         description = "Performs a <<query-dsl-query-string-query,query string query>>. "
             + "Returns true if the provided query string matches the row.",
         examples = {