@@ -46,3 +46,112 @@ pivot and summarize your data and store it in a new index. See
4646{ref}//transform-apis.html[{transform-cap} APIs].
4747
4848// end::notable-highlights[]
49+
50+ // tag::notable-highlights[]
51+ [float]
52+ === Finer memory control for bucket aggregations
53+
54+ We introduced a new `search.check_buckets_step_size` setting to
55+ better control how the coordinating node allocates memory when aggregating
56+ buckets. The allocation of buckets is now be done in steps, each step
57+ allocating a number of buckets equal to this setting. To avoid an `OutOfMemory`
58+ error, a parent circuit breaker check is performed on allocation.
59+
60+ // end::notable-highlights[]
61+
62+ // tag::notable-highlights[]
63+ [float]
64+ === A new way of searching: asynchronously
65+
66+ You can now submit {ref}/async-search-intro.html[long-running searches] using
67+ the new {ref}/async-search.html[`_async_search` API]. The new API accepts the
68+ same parameters and request body as the {ref}/search-search.html[Search API].
69+ However, instead of blocking and returning the final response only when it's
70+ entirely finished, you can retrieve results from an async search as they become
71+ available.
72+
73+ The request takes a parameter, `wait_for_completion`, which controls how long
74+ the server will wait until it sends back a response. The first response
75+ contains among others a search unique ID, a response version, an indication if
76+ this response is partial or not, plus the usual metadata (shards involved,
77+ number of hits etc) and potentially results. If the response is not complete
78+ and final, the client can continue polling for results, issuing a new request
79+ using the provided search ID. If new results are available, the returned
80+ version is incremented and the new batch of results are returned. This can
81+ continue until all the results are fetched.
82+
83+ Unless deleted earlier by the user, the asynchronous searches are kept alive
84+ for a given interval. This defaults to 5 days and can be controlled by another
85+ request parameter, `keep_alive`.
86+ // end::notable-highlights[]
87+
88+ // tag::notable-highlights[]
89+ [float]
90+ === Password protection for the keystore
91+
92+ {es} uses a custom on-disk {ref}/secure-settings.html[keystore] for secure settings such as
93+ passwords and SSL certificates. Up until now, this prevented users with
94+ {ref}/elasticsearch-keystore.html[command-line access] from viewing secure files by listing commands, but nothing
95+ prevented such users from changing values in the keystore, or removing values
96+ from it. Furthermore, the values were only obfuscated by a hash; no
97+ user-specific secret protected the secure settings.
98+
99+ This new feature changes all of that by adding password-protection to the
100+ keystore. This is not be a breaking change: if a keystore has no password,
101+ there won’t be any new prompts. A user must choose to password-protect their
102+ keystore in order to benefit from the new behavior.
103+
104+ // end::notable-highlights[]
105+
106+ // tag::notable-highlights[]
107+ [float]
108+ === A new aggregation: `top_metrics`
109+
110+ The new {ref}//search-aggregations-metrics-top-metrics.html[`top_metrics` aggregation] "selects" a metric from a document according
111+ to a criteria on a given, different field. That criteria is currently the
112+ largest or smallest "sort" value. It is fairly similar to `top_hits` in spirit,
113+ but because it is more limited, `top_metrics` uses less memory and
114+ is often faster.
115+
116+ // end::notable-highlights[]
117+
118+ // tag::notable-highlights[]
119+ [float]
120+ === Query speed-up for sorted queries on time-based indices
121+
122+ We've optimized sorted, top-documents-only queries run on time-based indices.
123+ The optimization stems from the fact that the ranges of (document) timestamps
124+ in the shards don't overlap. It is implemented by rewriting the shard search
125+ requests based on the partial results already available from other shards, if
126+ it can be determined that the query will not yield any result from the current
127+ shard; i.e. we know in advance that the bottom entry of the (sorted) result set
128+ after a partial merge is better than the values contained in this current
129+ shard.
130+
131+ // end::notable-highlights[]
132+
133+ // tag::notable-highlights[]
134+ [float]
135+ === A new aggregation: `boxplot`
136+
137+ The https://en.wikipedia.org/wiki/Interquartile_range[interquartile range (IQR)] is a common robust measure of statistical dispersion.
138+ Compared to the standard deviation, the IQR is less sensitive to outliers in
139+ the data, with a breakdown point of 0.25. Along with the median, it is often
140+ used in creating a box plot, a simple yet common way to summarize data and
141+ identify potential outliers.
142+
143+ The new {ref}/search-aggregations-metrics-boxplot-aggregation.html[`boxplot`
144+ aggregation] calculates the min, max, and medium as well as the first and third
145+ quartiles of a given data set.
146+
147+ // end::notable-highlights[]
148+
149+ // tag::notable-highlights[]
150+ [float]
151+ === AArch64 support
152+
153+ {es} now provides AArch64 packaging, including bundling an AArch64 JDK
154+ distribution. There are some restrictions in place, namely no {ml} support and
155+ depending on underlying page sizes, class data sharing is disabled.
156+
157+ // end::notable-highlights[]
0 commit comments