@@ -102,6 +102,31 @@ index codec best compression. (#112665)
102
102
103
103
{es-pull}112857[#112857]
104
104
105
+ [discrete]
106
+ [[esql_introduce_per_agg_filter]]
107
+ === ESQL: Introduce per agg filter
108
+ Add support for aggregation scoped filters that work dynamically on the
109
+ data in each group.
110
+
111
+ [source,esql]
112
+ ----
113
+ | STATS success = COUNT(*) WHERE 200 <= code AND code < 300,
114
+ redirect = COUNT(*) WHERE 300 <= code AND code < 400,
115
+ client_err = COUNT(*) WHERE 400 <= code AND code < 500,
116
+ server_err = COUNT(*) WHERE 500 <= code AND code < 600,
117
+ total_count = COUNT(*)
118
+ ----
119
+
120
+ Implementation wise, the base AggregateFunction has been extended to
121
+ allow a filter to be passed on. This is required to incorporate the
122
+ filter as part of the aggregate equality/identity which would fail with
123
+ the filter as an external component.
124
+ As part of the process, the serialization for the existing aggregations
125
+ had to be fixed so AggregateFunction implementations so that it
126
+ delegates to their parent first.
127
+
128
+ {es-pull}113735[#113735]
129
+
105
130
// end::notable-highlights[]
106
131
107
132
@@ -131,3 +156,44 @@ field is first combined into a single geometry before performing the predicate c
131
156
132
157
{es-pull}112063[#112063]
133
158
159
+ [discrete]
160
+ [[enhance_sort_push_down_to_lucene_to_cover_references_to_fields_st_distance_function]]
161
+ === Enhance SORT push-down to Lucene to cover references to fields and ST_DISTANCE function
162
+ The most used and likely most valuable geospatial search query in Elasticsearch is the sorted proximity search,
163
+ finding items within a certain distance of a point of interest and sorting the results by distance.
164
+ This has been possible in ES|QL since 8.15.0, but the sorting was done in-memory, not pushed down to Lucene.
165
+ Now the sorting is pushed down to Lucene, which results in a significant performance improvement.
166
+
167
+ Queries that perform both filtering and sorting on distance are supported. For example:
168
+
169
+ [source,esql]
170
+ ----
171
+ FROM test
172
+ | EVAL distance = ST_DISTANCE(location, TO_GEOPOINT("POINT(37.7749, -122.4194)"))
173
+ | WHERE distance < 1000000
174
+ | SORT distance ASC, name DESC
175
+ | LIMIT 10
176
+ ----
177
+
178
+ In addition, the support for sorting on EVAL expressions has been extended to cover references to fields:
179
+
180
+ [source,esql]
181
+ ----
182
+ FROM test
183
+ | EVAL ref = field
184
+ | SORT ref ASC
185
+ | LIMIT 10
186
+ ----
187
+
188
+ {es-pull}112938[#112938]
189
+
190
+ [discrete]
191
+ [[cross_cluster_search_telemetry]]
192
+ === Cross-cluster search telemetry
193
+ The cross-cluster search telemetry is collected when cross-cluster searches
194
+ are performed, and is returned as "ccs" field in `_cluster/stats` output.
195
+ It also add a new parameter `include_remotes=true` to the `_cluster/stats` API
196
+ which will collect data from connected remote clusters.
197
+
198
+ {es-pull}113825[#113825]
199
+
0 commit comments