You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replaced by `ExtendedBounds<T>`, `ExtendedBoundsOfFieldDateMathDescriptor`, and `ExtendedBoundsOfDoubleDescriptor`.
158
175
159
-
### 6. `Field.Format`
176
+
####6. `Field.Format`
160
177
161
178
**Impact**: Low.
162
179
163
180
Removed `Field.Format` property and corresponding constructor and inferrer overloads.
164
181
165
182
This property has not been used for some time (replaced by the `FieldAndFormat` type).
166
183
167
-
### 7. `Field`/`Fields` semantics
184
+
####7. `Field`/`Fields` semantics
168
185
169
186
**Impact**: Low.
170
187
171
188
`Field`/`Fields` static factory methods and conversion operators no longer return nullable references but throw exceptions instead (`Field`) if the input `string`/`Expression`/`PropertyInfo` argument is `null`.
172
189
173
190
This makes implicit conversions to `Field` more user-friendly without requiring the null-forgiveness operator (`!`) ([read more](index.md#field-name-inference)).
174
191
175
-
### 8. `FieldValue`
192
+
####8. `FieldValue`
176
193
177
194
**Impact**: Low.
178
195
179
196
Removed `FieldValue.IsLazyDocument`, `FieldValue.IsComposite`, and the corresponding members in the `FieldValue.ValueKind` enum.
180
197
181
198
These values have not been used for some time.
182
199
183
-
### 9. `FieldSort`
200
+
####9. `FieldSort`
184
201
185
202
**Impact**: Low.
186
203
187
204
Removed static `FieldSort.Empty` member.
188
205
189
206
Sorting got reworked which makes this member obsolete ([read more](index.md#sorting)).
In 8.x, execution of (most but not all) lambda actions passed to descriptors was deferred until the actual request was made. It was never clear to the user when, and how often an action would be executed.
198
222
199
223
In 9.0, descriptor actions are always executed immediately. This ensures no unforeseen side effects occur if the user-provided lambda action mutates external state (it is still recommended to exclusively use pure/invariant actions). Consequently, the effects of all changes performed by a descriptor method are immediately applied to the wrapped object.
200
224
201
-
### 4. Request Path Parameter Properties
225
+
####4. Request Path Parameter Properties
202
226
203
227
In 8.x, request path parameters like `Index`, `Id`, etc. could only be set by calling the corresponding constructor of the request. Afterwards, there was no way to read or change the current value.
204
228
@@ -214,7 +238,7 @@ var indices = request.Indices;
214
238
request.Indices="my_index";
215
239
```
216
240
217
-
### 5. Field Name Inference
241
+
####5. Field Name Inference
218
242
219
243
The `Field` type and especially its implicit conversion operations allowed for `null` return values. This led to a poor developer experience, as the null-forgiveness operator (`!`) had to be used frequently without good reason.
220
244
@@ -228,7 +252,7 @@ Field field = "field"!;
228
252
Fieldfield="field";
229
253
```
230
254
231
-
### 6. Uniform Date/Time/Duration Types
255
+
####6. Uniform Date/Time/Duration Types
232
256
233
257
The encoding of date, time and duration values in Elasticsearch often varies depending on the context. In addition to string representations in ISO 8601 and RFC 3339 format (always UTC), also Unix timestamps (in seconds, milliseconds, nanoseconds) or simply seconds, milliseconds, nanoseconds are frequently used.
234
258
@@ -242,7 +266,7 @@ There are some places where the Elasticsearch custom date/time/duration types ar
242
266
243
267
:::
244
268
245
-
### 7. Improved Container Design
269
+
####7. Improved Container Design
246
270
247
271
In 8.x, container types like `Query` or `Aggregation` had to be initialized using static factory methods.
248
272
@@ -284,7 +308,7 @@ Consecutive assignments of variant properties (e.g., first setting `Max`, then `
284
308
285
309
:::
286
310
287
-
### 8. Sorting
311
+
####8. Sorting
288
312
289
313
Applying a sort order to a search request using the fluent API is now more convenient:
290
314
@@ -325,7 +349,7 @@ new SearchRequestDescriptor<Person>()
325
349
);
326
350
```
327
351
328
-
### 9. Safer Object Creation
352
+
####9. Safer Object Creation
329
353
330
354
In version 9.0, users are better guided to correctly initialize objects and thus prevent invalid requests.
331
355
@@ -339,7 +363,7 @@ Please note that the use of descriptors still provides the chance to create inco
339
363
340
364
:::
341
365
342
-
### 10. Serialization
366
+
####10. Serialization
343
367
344
368
Serialization in version 9.0 has been completely overhauled, with a primary focus on robustness and performance. Additionally, initial milestones have been set for future support of native AOT.
0 commit comments