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
Copy file name to clipboardExpand all lines: docs/release-notes/release-highlights.asciidoc
+19-18Lines changed: 19 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ For a list of detailed changes, including bug fixes, please see the https://gith
8
8
[discrete]
9
9
==== Version 8.18
10
10
11
-
===== Breaking changes
11
+
**Breaking changes**
12
12
13
13
While we try to limit breaking changes to the minimum between minor versions of the client, all the following changes were necessary to keep the client code in sync with the server code and to fix client side bugs.
14
14
@@ -64,11 +64,12 @@ esClient.search(s -> s
64
64
* `TrainedModelDeploymentNodesStats`: `routingState` field modified from `TrainedModelAssignmentRoutingTable` to `TrainedModelAssignmentRoutingStateAndReason`
65
65
66
66
67
-
===== New Features
68
-
69
-
====== BulkIngester retry policy
67
+
**New Features**
70
68
69
+
* BulkIngester retry policy
70
+
+
71
71
Retry logic can now be enabled allowing the BulkIngester to retry operations that failed with error 429 (too many requests), hoping that the error will recover and the request will go through. Users can configure the desired backoff policy using the backoffPolicy() method in the BulkIngester builder:
72
+
+
72
73
[source,java]
73
74
----
74
75
BulkIngester ingester = BulkIngester.of(b -> b
@@ -78,16 +79,17 @@ BulkIngester ingester = BulkIngester.of(b -> b
This is an example of constant backoff, meaning the single failed operation will be retried 8 times every 50 milliseconds.
82
84
83
-
====== Default class for methods requiring TDocument
84
-
85
+
* Default class for methods requiring TDocument
86
+
+
85
87
Some requests in the client require a second parameter to define the result class, for example `search`, meaning the compiler will complain while the query is being written, which can be annoying. We added overload methods that use `Void.class` as default type, so that the correct type can be eventually added later into writing the query.
86
-
88
+
+
87
89
Example with `search`:
88
90
89
91
- Old:
90
-
92
+
+
91
93
[source,java]
92
94
----
93
95
esClient.search(s -> s
@@ -98,9 +100,8 @@ esClient.search(s -> s
98
100
,Object.class);
99
101
----
100
102
101
-
102
103
- New:
103
-
104
+
+
104
105
[source,java]
105
106
----
106
107
esClient.search(s -> s
@@ -111,14 +112,14 @@ esClient.search(s -> s
111
112
);
112
113
----
113
114
114
-
====== Builder setters overloads with variant type
115
-
115
+
* Builder setters overloads with variant type
116
+
+
116
117
Added more setters allowing to build requests with a specific type variant instead of having to use the parent class and then select the desired variant later.
117
-
118
+
+
118
119
Example with `query`, where the `query` field can now accept a `MatchAllQuery` (or any other variant) directly:
119
120
120
121
- Old:
121
-
122
+
+
122
123
[source,java]
123
124
----
124
125
esClient.search(s -> s
@@ -129,19 +130,19 @@ esClient.search(s -> s
129
130
);
130
131
----
131
132
- New:
132
-
133
+
+
133
134
[source,java]
134
135
----
135
136
esClient.search(s -> s
136
137
.index("my-index")
137
138
.query(MatchAllQuery.of(m -> m))
138
139
);
139
140
----
140
-
141
+
+
141
142
Example with `aggregations`, where the `aggregations` field can now accept `AverageAggregation` (or any other variant) directly:
0 commit comments