diff --git a/docs/reference/esql/functions/description/categorize.asciidoc b/docs/reference/esql/functions/description/categorize.asciidoc new file mode 100644 index 0000000000000..b6574c1855505 --- /dev/null +++ b/docs/reference/esql/functions/description/categorize.asciidoc @@ -0,0 +1,5 @@ +// This is generated by ESQL's AbstractFunctionTestCase. Do no edit it. See ../README.md for how to regenerate it. + +*Description* + +Categorizes text messages. diff --git a/docs/reference/esql/functions/kibana/definition/categorize.json b/docs/reference/esql/functions/kibana/definition/categorize.json new file mode 100644 index 0000000000000..366475ed9d975 --- /dev/null +++ b/docs/reference/esql/functions/kibana/definition/categorize.json @@ -0,0 +1,33 @@ +{ + "comment" : "This is generated by ESQL's AbstractFunctionTestCase. Do no edit it. See ../README.md for how to regenerate it.", + "type" : "eval", + "name" : "categorize", + "description" : "Categorizes text messages.", + "signatures" : [ + { + "params" : [ + { + "name" : "field", + "type" : "keyword", + "optional" : false, + "description" : "Expression to categorize" + } + ], + "variadic" : false, + "returnType" : "integer" + }, + { + "params" : [ + { + "name" : "field", + "type" : "text", + "optional" : false, + "description" : "Expression to categorize" + } + ], + "variadic" : false, + "returnType" : "integer" + } + ], + "preview" : false +} diff --git a/docs/reference/esql/functions/kibana/docs/categorize.md b/docs/reference/esql/functions/kibana/docs/categorize.md new file mode 100644 index 0000000000000..f59151b5bee65 --- /dev/null +++ b/docs/reference/esql/functions/kibana/docs/categorize.md @@ -0,0 +1,7 @@ + + +### CATEGORIZE +Categorizes text messages. + diff --git a/docs/reference/esql/functions/layout/categorize.asciidoc b/docs/reference/esql/functions/layout/categorize.asciidoc new file mode 100644 index 0000000000000..c547362b71ab0 --- /dev/null +++ b/docs/reference/esql/functions/layout/categorize.asciidoc @@ -0,0 +1,14 @@ +// This is generated by ESQL's AbstractFunctionTestCase. Do no edit it. See ../README.md for how to regenerate it. + +[discrete] +[[esql-categorize]] +=== `CATEGORIZE` + +*Syntax* + +[.text-center] +image::esql/functions/signature/categorize.svg[Embedded,opts=inline] + +include::../parameters/categorize.asciidoc[] +include::../description/categorize.asciidoc[] +include::../types/categorize.asciidoc[] diff --git a/docs/reference/esql/functions/parameters/categorize.asciidoc b/docs/reference/esql/functions/parameters/categorize.asciidoc new file mode 100644 index 0000000000000..42629ebfc7d9f --- /dev/null +++ b/docs/reference/esql/functions/parameters/categorize.asciidoc @@ -0,0 +1,6 @@ +// This is generated by ESQL's AbstractFunctionTestCase. Do no edit it. See ../README.md for how to regenerate it. + +*Parameters* + +`field`:: +Expression to categorize diff --git a/docs/reference/esql/functions/signature/categorize.svg b/docs/reference/esql/functions/signature/categorize.svg new file mode 100644 index 0000000000000..3f36f10382840 --- /dev/null +++ b/docs/reference/esql/functions/signature/categorize.svg @@ -0,0 +1 @@ +CATEGORIZE(field) diff --git a/docs/reference/esql/functions/types/categorize.asciidoc b/docs/reference/esql/functions/types/categorize.asciidoc new file mode 100644 index 0000000000000..4917ed313e6d7 --- /dev/null +++ b/docs/reference/esql/functions/types/categorize.asciidoc @@ -0,0 +1,10 @@ +// This is generated by ESQL's AbstractFunctionTestCase. Do no edit it. See ../README.md for how to regenerate it. + +*Supported types* + +[%header.monospaced.styled,format=dsv,separator=|] +|=== +field | result +keyword | integer +text | integer +|=== diff --git a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/grouping/Categorize.java b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/grouping/Categorize.java index 82c836a6f9d49..0865e070aecd4 100644 --- a/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/grouping/Categorize.java +++ b/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/grouping/Categorize.java @@ -63,7 +63,7 @@ public class Categorize extends GroupingFunction implements Validatable { private final Expression field; - @FunctionInfo(returnType = { "integer" }, description = "Categorizes text messages") + @FunctionInfo(returnType = { "integer" }, description = "Categorizes text messages.") public Categorize( Source source, @Param(name = "field", type = { "text", "keyword" }, description = "Expression to categorize") Expression field diff --git a/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractFunctionTestCase.java b/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractFunctionTestCase.java index c9a74c448644e..9f54b46acb514 100644 --- a/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractFunctionTestCase.java +++ b/x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/AbstractFunctionTestCase.java @@ -1194,7 +1194,7 @@ protected static String functionName() { } private static FunctionDefinition definition(String name) { - EsqlFunctionRegistry registry = new EsqlFunctionRegistry(); + EsqlFunctionRegistry registry = new EsqlFunctionRegistry().snapshotRegistry(); if (registry.functionExists(name)) { return registry.resolveFunction(name); }