@@ -46,3 +46,112 @@ pivot and summarize your data and store it in a new index. See
46
46
{ref}//transform-apis.html[{transform-cap} APIs].
47
47
48
48
// 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