elasticsearch/docs/reference/esql/functions/layout
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
..
abs.asciidoc
acos.asciidoc
asin.asciidoc
atan.asciidoc
atan2.asciidoc
auto_bucket.asciidoc
case.asciidoc
ceil.asciidoc
coalesce.asciidoc
concat.asciidoc
cos.asciidoc
cosh.asciidoc
date_diff.asciidoc
date_extract.asciidoc
date_format.asciidoc
date_parse.asciidoc
e.asciidoc
ends_with.asciidoc
floor.asciidoc
greatest.asciidoc
least.asciidoc
left.asciidoc
length.asciidoc
locate.asciidoc
log.asciidoc
log10.asciidoc
ltrim.asciidoc
mv_avg.asciidoc
mv_concat.asciidoc
mv_count.asciidoc
mv_dedupe.asciidoc
mv_first.asciidoc
mv_last.asciidoc
mv_max.asciidoc
mv_median.asciidoc
mv_min.asciidoc
mv_slice.asciidoc
mv_sort.asciidoc
mv_sum.asciidoc
mv_zip.asciidoc
pi.asciidoc
pow.asciidoc
replace.asciidoc
right.asciidoc
round.asciidoc
rtrim.asciidoc
signum.asciidoc
sin.asciidoc
sinh.asciidoc
split.asciidoc
sqrt.asciidoc
st_contains.asciidoc
st_disjoint.asciidoc
st_intersects.asciidoc
st_within.asciidoc
st_x.asciidoc
st_y.asciidoc
starts_with.asciidoc
substring.asciidoc
tan.asciidoc
tanh.asciidoc
tau.asciidoc
to_boolean.asciidoc
to_cartesianpoint.asciidoc
to_cartesianshape.asciidoc
to_datetime.asciidoc
to_degrees.asciidoc
to_double.asciidoc
to_geopoint.asciidoc
to_geoshape.asciidoc
to_integer.asciidoc
to_ip.asciidoc
to_long.asciidoc
to_lower.asciidoc
to_radians.asciidoc
to_string.asciidoc
to_unsigned_long.asciidoc
to_upper.asciidoc
to_version.asciidoc
trim.asciidoc