elasticsearch/docs/reference/esql/functions
Craig Taverner a7b38394d9
ESQL: Support ST_DISJOINT (#107007)
* WIP Started developing ST_DISJOINT

Initially based on ST_INTERSECTS

* Fix functions list and add spatial point integration tests

* Update docs/changelog/107007.yaml

* More tests for shapes and cartesian-multigeoms

* Some more tests to highlight issues with DISJOINT on cartesian point indices

* Disable Lucene push-down for DISJOINT on cartesian point indices

* Added docs for ST_DISJOINT

* Support DISJOINT in the lucene-pushdown code for cartesian point indexes

* Re-enable push-to-source for DISJOINT on cartesian_point indices

* Fix docs example

* Try fix internal docs links which are not being rendered

* Fixed disjoint on empty geometry

* Added tests on empty linestring, and changed lucene push-down to exception

In lucene code only LineString can be empty, but in Elasticsearch even that is not allowed, resulting in parsing errors. So we cannot get to this code in the lucene push-down and now throw an error instead. The tests now assert on the warnings.

Note that for any predicate DISJOINT and INTERSECTS alike, the predicate fails, because the parsing error results in null, the function returns null, the predicate interprets this as false, and no documents match. This null-in-null-out rule means that DISJOINT and INTERSECTS give the same answer on invalid geometries.
2024-04-08 12:26:26 +02:00
..
description ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
examples ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
layout ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
parameters ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
signature ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
types ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
README.md Fix typo in functions/README.md (#106870) 2024-03-28 14:02:47 +01:00
aggregation-functions.asciidoc ESQL: Support ST_CONTAINS and ST_WITHIN (#106503) 2024-04-02 10:31:00 +02:00
auto_bucket.asciidoc ESQL: Mark a few features as experimental (#105263) 2024-02-07 17:28:13 -08: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
cidr_match.asciidoc
coalesce.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
concat.asciidoc
conditional-functions-and-expressions.asciidoc
cosh.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -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 ESQL: Mark a few features as experimental (#105263) 2024-02-07 17:28:13 -08:00
date_diff.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
date_extract.asciidoc
date_format.asciidoc
date_parse.asciidoc
date_trunc.asciidoc
e.asciidoc
ends_with.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
floor.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
greatest.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
in.asciidoc
least.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
length.asciidoc
like.asciidoc
logical.asciidoc
ltrim.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
math-functions.asciidoc Add ES|QL signum function (#106866) 2024-04-04 09:48:35 +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 [ES|QL] Add mv_sort (#106095) 2024-03-13 12:04:12 -04:00
mv_avg.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_concat.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_count.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_dedupe.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_first.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_last.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_max.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_median.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_min.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_slice.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_sort.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_sum.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
mv_zip.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
now.asciidoc
operators.asciidoc
percentile.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
pi.asciidoc
pow.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
predicates.asciidoc
replace.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
right.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
rlike.asciidoc
round.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
rtrim.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
spatial-functions.asciidoc ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
split.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
sqrt.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
st_centroid.asciidoc ESQL: Support ST_CONTAINS and ST_WITHIN (#106503) 2024-04-02 10:31:00 +02:00
st_contains.asciidoc ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
st_disjoint.asciidoc ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
st_intersects.asciidoc ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
st_within.asciidoc ESQL: Support ST_DISJOINT (#107007) 2024-04-08 12:26:26 +02:00
st_x.asciidoc ESQL: Support ST_CONTAINS and ST_WITHIN (#106503) 2024-04-02 10:31:00 +02:00
st_y.asciidoc ESQL: Support ST_CONTAINS and ST_WITHIN (#106503) 2024-04-02 10:31:00 +02:00
starts_with.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
string-functions.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
substring.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
sum.asciidoc [DOCS] Support for nested functions in ES|QL STATS...BY (#104788) 2024-01-30 19:29:12 +01:00
tau.asciidoc
to_boolean.asciidoc
to_cartesianpoint.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_cartesianshape.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_datetime.asciidoc
to_degrees.asciidoc
to_double.asciidoc
to_geopoint.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_geoshape.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_integer.asciidoc
to_ip.asciidoc
to_long.asciidoc
to_lower.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_radians.asciidoc
to_string.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_unsigned_long.asciidoc ESQL: Mark a few features as experimental (#105263) 2024-02-07 17:28:13 -08:00
to_upper.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
to_version.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
trim.asciidoc ESQL: Generate more docs (#106367) 2024-03-19 15:40:13 -04:00
type-conversion-functions.asciidoc ESQL: Mark a few features as experimental (#105263) 2024-02-07 17:28:13 -08:00
unary.asciidoc
values.asciidoc ESQL: Enable VALUES agg for datetime (#107016) 2024-04-03 07:42:40 -04:00

README.md

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

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