@@ -76,6 +76,9 @@ public class Settings implements JsonpSerializable {
7676 @ Nullable
7777 private final Integer maxPageSearchSize ;
7878
79+ @ Nullable
80+ private final Boolean usePointInTime ;
81+
7982 @ Nullable
8083 private final Boolean unattended ;
8184
@@ -88,6 +91,7 @@ private Settings(Builder builder) {
8891 this .deduceMappings = builder .deduceMappings ;
8992 this .docsPerSecond = builder .docsPerSecond ;
9093 this .maxPageSearchSize = builder .maxPageSearchSize ;
94+ this .usePointInTime = builder .usePointInTime ;
9195 this .unattended = builder .unattended ;
9296
9397 }
@@ -159,6 +163,22 @@ public final Integer maxPageSearchSize() {
159163 return this .maxPageSearchSize ;
160164 }
161165
166+ /**
167+ * Specifies whether the transform checkpoint will use the Point In Time API
168+ * while searching over the source index. In general, Point In Time is an
169+ * optimization that will reduce pressure on the source index by reducing the
170+ * amount of refreshes and merges, but it can be expensive if a large number of
171+ * Point In Times are opened and closed for a given index. The benefits and
172+ * impact depend on the data being searched, the ingest rate into the source
173+ * index, and the amount of other consumers searching the same source index.
174+ * <p>
175+ * API name: {@code use_point_in_time}
176+ */
177+ @ Nullable
178+ public final Boolean usePointInTime () {
179+ return this .usePointInTime ;
180+ }
181+
162182 /**
163183 * If <code>true</code>, the transform runs in unattended mode. In unattended
164184 * mode, the transform retries indefinitely in case of an error which means the
@@ -207,6 +227,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) {
207227 generator .writeKey ("max_page_search_size" );
208228 generator .write (this .maxPageSearchSize );
209229
230+ }
231+ if (this .usePointInTime != null ) {
232+ generator .writeKey ("use_point_in_time" );
233+ generator .write (this .usePointInTime );
234+
210235 }
211236 if (this .unattended != null ) {
212237 generator .writeKey ("unattended" );
@@ -243,6 +268,9 @@ public static class Builder extends WithJsonObjectBuilderBase<Builder> implement
243268 @ Nullable
244269 private Integer maxPageSearchSize ;
245270
271+ @ Nullable
272+ private Boolean usePointInTime ;
273+
246274 @ Nullable
247275 private Boolean unattended ;
248276
@@ -309,6 +337,22 @@ public final Builder maxPageSearchSize(@Nullable Integer value) {
309337 return this ;
310338 }
311339
340+ /**
341+ * Specifies whether the transform checkpoint will use the Point In Time API
342+ * while searching over the source index. In general, Point In Time is an
343+ * optimization that will reduce pressure on the source index by reducing the
344+ * amount of refreshes and merges, but it can be expensive if a large number of
345+ * Point In Times are opened and closed for a given index. The benefits and
346+ * impact depend on the data being searched, the ingest rate into the source
347+ * index, and the amount of other consumers searching the same source index.
348+ * <p>
349+ * API name: {@code use_point_in_time}
350+ */
351+ public final Builder usePointInTime (@ Nullable Boolean value ) {
352+ this .usePointInTime = value ;
353+ return this ;
354+ }
355+
312356 /**
313357 * If <code>true</code>, the transform runs in unattended mode. In unattended
314358 * mode, the transform retries indefinitely in case of an error which means the
@@ -355,6 +399,7 @@ protected static void setupSettingsDeserializer(ObjectDeserializer<Settings.Buil
355399 op .add (Builder ::deduceMappings , JsonpDeserializer .booleanDeserializer (), "deduce_mappings" );
356400 op .add (Builder ::docsPerSecond , JsonpDeserializer .floatDeserializer (), "docs_per_second" );
357401 op .add (Builder ::maxPageSearchSize , JsonpDeserializer .integerDeserializer (), "max_page_search_size" );
402+ op .add (Builder ::usePointInTime , JsonpDeserializer .booleanDeserializer (), "use_point_in_time" );
358403 op .add (Builder ::unattended , JsonpDeserializer .booleanDeserializer (), "unattended" );
359404
360405 }
0 commit comments