elasticsearch/docs/reference/query-languages/esql/_snippets/functions
Nik Everett 1b151eda4b
ESQL: Compute engine support for tagged queries (#128521)
Begins adding support for running "tagged queries" to the compute
engine. Here, it's just the `LuceneSourceOperator` because that's
useful and contained.

Example time! Say you are running:
```
FROM foo
| STATS MAX(v) BY ROUND_TO(g, 0, 100, 1000, 100000)
```

It's *often* faster to run this as four queries:
* The docs that round to `0`
* The docs that round to `100`
* The docs that round to `1000`
* The docs that round to `100000`

This creates an ESQL operator that can run these queries, one after the
other and attach those tags.

Aggs uses this trick and it's *way* faster when it can push down count
queries, but it's still faster when it pushes doc loading things. This
implementation in `LuceneSourceOperator` is quite similar to the doc
loading version in _search.

I don't have performance measurements yet because I haven't plugged this
into the language. In _search we call this `filter-by-filter` and enable
it when each group averages to more than 5000 documents and when there
isn't an `_doc_count` field. It's faster in those cases not to push. I
expect we'll be pretty similar.
2025-05-29 12:41:58 -04:00
..
appendix ESQL: Compute engine support for tagged queries (#128521) 2025-05-29 12:41:58 -04:00
description ESQL: ROUND_TO function (#128278) 2025-05-23 10:14:30 -04:00
examples ESQL: Fix docs for ROUND_TO (#128382) 2025-05-24 01:28:29 +10:00
functionNamedParams ESQL: Claim transport version to backport #124913 (#127616) 2025-05-01 23:27:42 +02:00
layout ESQL: Enable docs for ROUND_TO (#128378) 2025-05-23 19:06:05 +02:00
parameters ESQL: ROUND_TO function (#128278) 2025-05-23 10:14:30 -04:00
types ESQL: ROUND_TO function (#128278) 2025-05-23 10:14:30 -04:00