elasticsearch/docs/reference/esql/functions
Iván Cea Fontenla f16f71e2a2
ESQL: Add ip_prefix function (#109070)
Added ESQL function to get the prefix of an IP. It works now with both
IPv4 and IPv6. For users planning to use it with mixed IPs, we may need
to add a function like "is_ipv4()" first.

**About the skipped test:** There's currently a "bug" in the
evaluators//functions that return null. Evaluators can't handle them.
We'll work on support for that in another PR. It affects other
functions, like `substring()`. In this function, however, it only
affects in "wrong" cases (Like an invalid prefix), so it has no impact.

Fixes https://github.com/elastic/elasticsearch/issues/99064
2024-05-29 10:23:45 -04:00
..
description ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
examples ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
kibana ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
layout ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
parameters ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
signature ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
types ESQL: Add ip_prefix function (#109070) 2024-05-29 10:23:45 -04:00
aggregation-functions.asciidoc ESQL: Document BUCKET as a grouping function (#107864) 2024-04-25 12:38:12 -04:00
avg.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
binary.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
case.asciidoc [DOCS] Improve ES|QL functions reference for functions A-D (#103447) 2023-12-19 15:59:02 +01:00
cast.asciidoc ESQL: Document the cast operator (::) (#107871) 2024-04-25 10:10:59 -04:00
conditional-functions-and-expressions.asciidoc [ES|QL] Add/Modify annotations for spatial and conditional functions for better doc generation (#107722) 2024-05-10 14:49:25 -04:00
count-distinct.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
count.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
date-time-functions.asciidoc ES|QL: Add unit tests for now() function (#108498) 2024-05-10 14:28:19 +02:00
grouping-functions.asciidoc ESQL: Document BUCKET as a grouping function (#107864) 2024-04-25 12:38:12 -04:00
in.asciidoc [DOCS] Examples for ES|QL DISSECT and WHERE (#102591) 2023-11-27 10:56:48 +01:00
ip-functions.asciidoc Introduce an IP functions group (#108304) 2024-05-06 13:43:30 +02:00
like.asciidoc [ES|QL] Add/Modify annotations for operators for better doc generation (#108220) 2024-05-03 22:59:51 -04:00
logical.asciidoc Restructure ES|QL docs (#100806) 2023-10-17 17:36:14 +02:00
math-functions.asciidoc ESQL: CBRT function (#108574) 2024-05-15 16:50:15 +02:00
max.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
median-absolute-deviation.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
median.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
min.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
mv-functions.asciidoc mv functions (#107839) 2024-05-01 10:47:22 -04:00
operators.asciidoc Introduce an IP functions group (#108304) 2024-05-06 13:43:30 +02:00
percentile.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
predicates.asciidoc [DOCS] Examples for ES|QL DISSECT and WHERE (#102591) 2023-11-27 10:56:48 +01:00
README.md ESQL: Generate kibana inline docs (#106782) 2024-04-09 14:19:48 -04:00
rlike.asciidoc [ES|QL] Add/Modify annotations for operators for better doc generation (#108220) 2024-05-03 22:59:51 -04:00
round.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
spatial-functions.asciidoc [ES|QL] Add/Modify annotations for spatial and conditional functions for better doc generation (#107722) 2024-05-10 14:49:25 -04:00
st_centroid_agg.asciidoc Rename ST_CENTROID to ST_CENTROID_AGG (#107226) 2024-04-10 17:56:45 +02:00
string-functions.asciidoc [ES|QL] Add/Modify annotations for operators for better doc generation (#108220) 2024-05-03 22:59:51 -04:00
sum.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
type-conversion-functions.asciidoc [DOCS] ES|QL implicit casting (#108618) 2024-05-15 09:07:09 -04:00
unary.asciidoc ESQL: Add type tables for operators to docs (#103206) 2023-12-11 10:51:38 -05:00
values.asciidoc ESQL: Enable VALUES agg for datetime (#107016) 2024-04-03 07:42:40 -04:00

The files in these subdirectories are generated by ESQL's test suite:

  • description - description of each function scraped from @FunctionInfo#description
  • examples - examples of each function scraped from @FunctionInfo#examples
  • parameters - description of each function's parameters scraped from @Param
  • signature - railroad diagram of the syntax to invoke each function
  • types - a table of each combination of support type for each parameter. These are generated from tests.
  • layout - a fully generated description for each function
  • kibana/definition - function definitions for kibana's ESQL editor
  • kibana/docs - the inline docs for kibana

Most functions can use the generated docs generated in the layout directory. If we need something more custom for the function we can make a file in this directory that can include:: any parts of the files above.

To regenerate the files for a function run its tests using gradle:

./gradlew :x-pack:plugin:esql:test -Dtests.class='*SinTests'

To regenerate the files for all functions run all of ESQL's tests using gradle:

./gradlew :x-pack:plugin:esql:test