From fab68a78bb4e29c0f0c58ecad7d414af7dce7e29 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Thu, 20 Mar 2025 18:08:33 +0100 Subject: [PATCH 1/6] [codegen] update to latest spec + function score bug fix --- .../ElasticsearchAsyncClient.java | 232 +++++++++++++++++ .../elasticsearch/ElasticsearchClient.java | 240 ++++++++++++++++++ .../elasticsearch/_types/KnnQuery.java | 26 ++ .../elasticsearch/_types/KnnRetriever.java | 10 + .../elasticsearch/_types/KnnSearch.java | 27 ++ .../elasticsearch/_types/NestedSortValue.java | 9 + .../elasticsearch/_types/RRFRetriever.java | 16 ++ .../elasticsearch/_types/RetrieverBase.java | 16 ++ .../_types/StandardRetriever.java | 37 +-- .../_types/TextSimilarityReranker.java | 11 + .../AdjacencyMatrixAggregation.java | 13 + .../_types/aggregations/Aggregation.java | 24 ++ .../aggregations/CompositeAggregate.java | 40 +++ .../aggregations/CompositeAggregation.java | 52 ++++ .../_types/aggregations/CompositeBucket.java | 40 +++ .../FrequentItemSetsAggregation.java | 11 + .../aggregations/InferenceAggregation.java | 10 + .../aggregations/InferenceTopClassEntry.java | 1 + .../_types/aggregations/MultiTermsBucket.java | 25 +- .../SignificantTermsAggregation.java | 12 + .../SignificantTextAggregation.java | 12 + .../aggregations/StringTermsBucket.java | 1 + .../_types/aggregations/TestPopulation.java | 11 + .../_types/aggregations/TimeSeriesBucket.java | 40 +++ .../_types/aggregations/TopMetrics.java | 65 +++-- .../_types/query_dsl/BoolQuery.java | 63 +++++ .../_types/query_dsl/BoostingQuery.java | 20 ++ .../_types/query_dsl/ConstantScoreQuery.java | 13 + .../_types/query_dsl/DisMaxQuery.java | 17 ++ .../_types/query_dsl/FunctionScore.java | 16 ++ .../_types/query_dsl/FunctionScoreQuery.java | 28 +- .../_types/query_dsl/HasChildQuery.java | 12 + .../_types/query_dsl/HasParentQuery.java | 12 + .../_types/query_dsl/IntervalsAllOf.java | 26 ++ .../_types/query_dsl/IntervalsAnyOf.java | 25 ++ .../_types/query_dsl/IntervalsMatch.java | 10 + .../_types/query_dsl/NestedQuery.java | 10 + .../_types/query_dsl/PinnedQuery.java | 22 ++ .../_types/query_dsl/RuleQuery.java | 8 + .../_types/query_dsl/ScriptScoreQuery.java | 10 + .../_types/query_dsl/SpanContainingQuery.java | 22 ++ .../query_dsl/SpanFieldMaskingQuery.java | 8 + .../_types/query_dsl/SpanFirstQuery.java | 10 + .../_types/query_dsl/SpanMultiTermQuery.java | 12 + .../_types/query_dsl/SpanNearQuery.java | 15 ++ .../_types/query_dsl/SpanNotQuery.java | 20 ++ .../_types/query_dsl/SpanOrQuery.java | 15 ++ .../_types/query_dsl/SpanWithinQuery.java | 22 ++ .../ElasticsearchAsyncSearchAsyncClient.java | 42 +++ .../ElasticsearchAsyncSearchClient.java | 43 ++++ .../async_search/SubmitRequest.java | 69 +++-- .../elasticsearch/core/BulkRequest.java | 14 + .../elasticsearch/core/CountRequest.java | 11 + .../core/DeleteByQueryRequest.java | 11 + .../elasticsearch/core/ExplainRequest.java | 11 + .../elasticsearch/core/FieldCapsRequest.java | 12 + .../elasticsearch/core/KnnSearchRequest.java | 19 ++ .../core/OpenPointInTimeRequest.java | 12 + .../elasticsearch/core/SearchMvtRequest.java | 33 +++ .../elasticsearch/core/SearchRequest.java | 103 ++++++-- .../elasticsearch/core/TermsEnumRequest.java | 11 + .../core/UpdateByQueryRequest.java | 11 + .../core/msearch/MultisearchBody.java | 69 +++-- .../core/rank_eval/RankEvalQuery.java | 9 + .../elasticsearch/core/reindex/Source.java | 11 + .../PainlessContextSetup.java | 11 + .../core/search/HighlightBase.java | 13 + .../elasticsearch/core/search/Hit.java | 25 +- .../core/search/PhraseSuggester.java | 12 + .../core/search/RescoreQuery.java | 13 + .../elasticsearch/core/search/Suggester.java | 10 + .../core/search_shards/ShardStoreIndex.java | 9 + .../elasticsearch/doc-files/api-spec.html | 4 +- .../elasticsearch/enrich/EnrichPolicy.java | 9 + .../eql/ElasticsearchEqlAsyncClient.java | 42 +++ .../eql/ElasticsearchEqlClient.java | 42 +++ .../elasticsearch/eql/EqlSearchRequest.java | 17 ++ .../elasticsearch/esql/QueryRequest.java | 37 +-- .../fleet/ElasticsearchFleetAsyncClient.java | 21 ++ .../fleet/ElasticsearchFleetClient.java | 22 ++ .../fleet/FleetSearchRequest.java | 69 +++-- .../elasticsearch/graph/ExploreRequest.java | 12 + .../clients/elasticsearch/graph/Hop.java | 12 + .../clients/elasticsearch/indices/Alias.java | 11 + .../indices/AliasDefinition.java | 11 + .../indices/ModifyDataStreamRequest.java | 16 ++ .../indices/PutAliasRequest.java | 11 + .../indices/UpdateAliasesRequest.java | 16 ++ .../indices/ValidateQueryRequest.java | 11 + .../indices/update_aliases/AddAction.java | 11 + .../inference/InferenceResponse.java | 8 + .../ingest/ForeachProcessor.java | 10 + .../ingest/InferenceProcessor.java | 10 + .../elasticsearch/ingest/Pipeline.java | 31 +++ .../elasticsearch/ingest/ProcessorBase.java | 15 ++ .../ingest/PutPipelineRequest.java | 36 +++ .../clients/elasticsearch/ml/Datafeed.java | 20 ++ .../elasticsearch/ml/DatafeedConfig.java | 28 ++ .../ml/DataframeAnalysisBase.java | 24 ++ .../elasticsearch/ml/DataframeAnalytics.java | 10 + .../ml/DataframeAnalyticsSource.java | 15 ++ .../ml/DataframeAnalyticsSummary.java | 8 + .../ml/ElasticsearchMlAsyncClient.java | 21 ++ .../ml/ElasticsearchMlClient.java | 23 ++ .../ml/EvaluateDataFrameRequest.java | 21 ++ .../ml/ExplainDataFrameAnalyticsRequest.java | 12 + .../ml/FillMaskInferenceOptions.java | 10 + .../ml/InferTrainedModelRequest.java | 10 + .../elasticsearch/ml/NerInferenceOptions.java | 10 + .../ml/PassThroughInferenceOptions.java | 10 + .../ml/PutDataFrameAnalyticsRequest.java | 12 + .../ml/PutDataFrameAnalyticsResponse.java | 8 + .../elasticsearch/ml/PutDatafeedRequest.java | 40 ++- .../elasticsearch/ml/PutDatafeedResponse.java | 20 ++ .../ml/PutTrainedModelRequest.java | 13 + .../ml/QuestionAnsweringInferenceOptions.java | 10 + .../TextClassificationInferenceOptions.java | 10 + .../ml/TextEmbeddingInferenceOptions.java | 10 + .../ml/TextExpansionInferenceOptions.java | 10 + .../elasticsearch/ml/TrainedModelConfig.java | 13 + .../ml/UpdateDataFrameAnalyticsResponse.java | 8 + .../ml/UpdateDatafeedRequest.java | 33 +++ .../ml/UpdateDatafeedResponse.java | 20 ++ ...eroShotClassificationInferenceOptions.java | 10 + .../DataframePreviewConfig.java | 9 + .../ml/put_trained_model/Definition.java | 15 ++ .../elasticsearch/monitoring/BulkRequest.java | 14 + .../ElasticsearchRollupAsyncClient.java | 21 ++ .../rollup/ElasticsearchRollupClient.java | 23 ++ .../rollup/RollupSearchRequest.java | 24 ++ ...ticsearchSearchApplicationAsyncClient.java | 21 ++ .../ElasticsearchSearchApplicationClient.java | 23 ++ .../elasticsearch/security/ApiKey.java | 25 +- .../security/IndicesPrivileges.java | 15 ++ .../security/PutRoleMappingRequest.java | 8 + .../security/QueryApiKeysRequest.java | 66 +++-- .../security/QueryRoleRequest.java | 46 ++-- .../security/QueryUserRequest.java | 44 ++-- .../elasticsearch/security/RoleMapping.java | 8 + .../query_api_keys/ApiKeyAggregation.java | 24 ++ .../security/query_role/QueryRole.java | 25 +- .../security/query_user/QueryUser.java | 26 +- .../elasticsearch/sql/QueryRequest.java | 11 + .../elasticsearch/sql/TranslateRequest.java | 11 + .../elasticsearch/sql/TranslateResponse.java | 20 ++ .../ElasticsearchTransformAsyncClient.java | 21 ++ .../ElasticsearchTransformClient.java | 23 ++ .../elasticsearch/transform/Pivot.java | 31 +++ .../transform/PreviewTransformRequest.java | 21 ++ .../transform/PutTransformRequest.java | 21 ++ .../elasticsearch/transform/Source.java | 11 + .../transform/UpdateTransformRequest.java | 21 ++ .../transform/UpdateTransformResponse.java | 16 ++ .../get_transform/TransformSummary.java | 20 ++ .../clients/elasticsearch/watcher/Action.java | 17 ++ .../watcher/ArrayCompareOpParams.java | 1 + .../clients/elasticsearch/watcher/Email.java | 10 + .../watcher/PutWatchRequest.java | 33 +++ .../watcher/QueryWatchesRequest.java | 37 +-- .../watcher/SearchInputRequestBody.java | 9 + .../watcher/TriggerEventResult.java | 8 + .../clients/elasticsearch/watcher/Watch.java | 33 +++ .../watcher/execute_watch/WatchRecord.java | 18 ++ .../elasticsearch/model/BehaviorsTest.java | 100 ++++++-- 164 files changed, 3525 insertions(+), 309 deletions(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java index 7000e0e04..eff59ef0d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchAsyncClient.java @@ -833,6 +833,27 @@ public final CompletableFuture> explain( return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #explain(ExplainRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> explain(ExplainRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #explain(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> explain( + Function> fn) { + return explain(fn.apply(new ExplainRequest.Builder()).build(), Void.class); + } + /** * Explain a document match result. Returns information about why a specific * document matches, or doesn’t match, a query. @@ -974,6 +995,26 @@ public final CompletableFuture> get( return get(fn.apply(new GetRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #get(GetRequest, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public CompletableFuture> get(GetRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> get(Function> fn) { + return get(fn.apply(new GetRequest.Builder()).build(), Void.class); + } + /** * Get a document by its ID. Retrieves the document with the specified ID from * an index. @@ -1113,6 +1154,27 @@ public final CompletableFuture> getSour return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #getSource(GetSourceRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> getSource(GetSourceRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #getSource(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> getSource( + Function> fn) { + return getSource(fn.apply(new GetSourceRequest.Builder()).build(), Void.class); + } + /** * Get a document's source. Returns the source of a document. * @@ -1392,6 +1454,27 @@ public final CompletableFuture> knnSear return knnSearch(fn.apply(new KnnSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #knnSearch(KnnSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> knnSearch(KnnSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) KnnSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #knnSearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> knnSearch( + Function> fn) { + return knnSearch(fn.apply(new KnnSearchRequest.Builder()).build(), Void.class); + } + /** * Run a knn search. *

@@ -1503,6 +1586,27 @@ public final CompletableFuture> mget( return mget(fn.apply(new MgetRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #mget(MgetRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> mget(MgetRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #mget(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> mget( + Function> fn) { + return mget(fn.apply(new MgetRequest.Builder()).build(), Void.class); + } + /** * Get multiple documents. *

@@ -1622,6 +1726,27 @@ public final CompletableFuture> msearch( return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #msearch(MsearchRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> msearch(MsearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #msearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> msearch( + Function> fn) { + return msearch(fn.apply(new MsearchRequest.Builder()).build(), Void.class); + } + /** * Run multiple searches. *

@@ -1734,6 +1859,27 @@ public final CompletableFuture> m return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #msearchTemplate(MsearchTemplateRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> msearchTemplate(MsearchTemplateRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #msearchTemplate(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> msearchTemplate( + Function> fn) { + return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), Void.class); + } + /** * Run multiple templated searches. * @@ -2145,6 +2291,29 @@ public final CompletableFuture return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultClass); } + /** + * Overload of + * {@link #scriptsPainlessExecute(ScriptsPainlessExecuteRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> scriptsPainlessExecute( + ScriptsPainlessExecuteRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #scriptsPainlessExecute(Function, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> scriptsPainlessExecute( + Function> fn) { + return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), Void.class); + } + /** * Run a script. Runs a script and returns a result. * @@ -2261,6 +2430,27 @@ public final CompletableFuture> scroll( return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #scroll(ScrollRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> scroll(ScrollRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #scroll(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> scroll( + Function> fn) { + return scroll(fn.apply(new ScrollRequest.Builder()).build(), Void.class); + } + /** * Run a scrolling search. *

@@ -2382,6 +2572,27 @@ public final CompletableFuture> search( return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #search(SearchRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> search(SearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> search( + Function> fn) { + return search(fn.apply(new SearchRequest.Builder()).build(), Void.class); + } + /** * Run a search. *

@@ -2559,6 +2770,27 @@ public final CompletableFuture> se return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #searchTemplate(SearchTemplateRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> searchTemplate(SearchTemplateRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #searchTemplate(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> searchTemplate( + Function> fn) { + return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), Void.class); + } + /** * Run a search with a search template. * diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java index 18a2d8f15..a4f0343a9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ElasticsearchClient.java @@ -846,6 +846,27 @@ public final ExplainResponse explain( return explain(fn.apply(new ExplainRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #explain(ExplainRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public ExplainResponse explain(ExplainRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ExplainRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #explain(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final ExplainResponse explain(Function> fn) + throws IOException, ElasticsearchException { + return explain(fn.apply(new ExplainRequest.Builder()).build(), Void.class); + } + /** * Explain a document match result. Returns information about why a specific * document matches, or doesn’t match, a query. @@ -988,6 +1009,27 @@ public final GetResponse get(Function get(GetRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final GetResponse get(Function> fn) + throws IOException, ElasticsearchException { + return get(fn.apply(new GetRequest.Builder()).build(), Void.class); + } + /** * Get a document by its ID. Retrieves the document with the specified ID from * an index. @@ -1129,6 +1171,28 @@ public final GetSourceResponse getSource( return getSource(fn.apply(new GetSourceRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #getSource(GetSourceRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public GetSourceResponse getSource(GetSourceRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetSourceRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #getSource(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final GetSourceResponse getSource( + Function> fn) + throws IOException, ElasticsearchException { + return getSource(fn.apply(new GetSourceRequest.Builder()).build(), Void.class); + } + /** * Get a document's source. Returns the source of a document. * @@ -1412,6 +1476,28 @@ public final KnnSearchResponse knnSearch( return knnSearch(fn.apply(new KnnSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #knnSearch(KnnSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public KnnSearchResponse knnSearch(KnnSearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) KnnSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #knnSearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final KnnSearchResponse knnSearch( + Function> fn) + throws IOException, ElasticsearchException { + return knnSearch(fn.apply(new KnnSearchRequest.Builder()).build(), Void.class); + } + /** * Run a knn search. *

@@ -1524,6 +1610,27 @@ public final MgetResponse mget(Function mget(MgetRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MgetRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #mget(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final MgetResponse mget(Function> fn) + throws IOException, ElasticsearchException { + return mget(fn.apply(new MgetRequest.Builder()).build(), Void.class); + } + /** * Get multiple documents. *

@@ -1645,6 +1752,27 @@ public final MsearchResponse msearch( return msearch(fn.apply(new MsearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #msearch(MsearchRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public MsearchResponse msearch(MsearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #msearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final MsearchResponse msearch(Function> fn) + throws IOException, ElasticsearchException { + return msearch(fn.apply(new MsearchRequest.Builder()).build(), Void.class); + } + /** * Run multiple searches. *

@@ -1758,6 +1886,29 @@ public final MsearchTemplateResponse msearchTemplate( return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #msearchTemplate(MsearchTemplateRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public MsearchTemplateResponse msearchTemplate(MsearchTemplateRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) MsearchTemplateRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #msearchTemplate(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final MsearchTemplateResponse msearchTemplate( + Function> fn) + throws IOException, ElasticsearchException { + return msearchTemplate(fn.apply(new MsearchTemplateRequest.Builder()).build(), Void.class); + } + /** * Run multiple templated searches. * @@ -2178,6 +2329,30 @@ public final ScriptsPainlessExecuteResponse scriptsPainlessEx return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), tResultClass); } + /** + * Overload of + * {@link #scriptsPainlessExecute(ScriptsPainlessExecuteRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public ScriptsPainlessExecuteResponse scriptsPainlessExecute(ScriptsPainlessExecuteRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScriptsPainlessExecuteRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #scriptsPainlessExecute(Function, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public final ScriptsPainlessExecuteResponse scriptsPainlessExecute( + Function> fn) + throws IOException, ElasticsearchException { + return scriptsPainlessExecute(fn.apply(new ScriptsPainlessExecuteRequest.Builder()).build(), Void.class); + } + /** * Run a script. Runs a script and returns a result. * @@ -2295,6 +2470,27 @@ public final ScrollResponse scroll( return scroll(fn.apply(new ScrollRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #scroll(ScrollRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public ScrollResponse scroll(ScrollRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) ScrollRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #scroll(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final ScrollResponse scroll(Function> fn) + throws IOException, ElasticsearchException { + return scroll(fn.apply(new ScrollRequest.Builder()).build(), Void.class); + } + /** * Run a scrolling search. *

@@ -2419,6 +2615,27 @@ public final SearchResponse search( return search(fn.apply(new SearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #search(SearchRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public SearchResponse search(SearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final SearchResponse search(Function> fn) + throws IOException, ElasticsearchException { + return search(fn.apply(new SearchRequest.Builder()).build(), Void.class); + } + /** * Run a search. *

@@ -2599,6 +2816,29 @@ public final SearchTemplateResponse searchTemplate( return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #searchTemplate(SearchTemplateRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public SearchTemplateResponse searchTemplate(SearchTemplateRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchTemplateRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #searchTemplate(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final SearchTemplateResponse searchTemplate( + Function> fn) + throws IOException, ElasticsearchException { + return searchTemplate(fn.apply(new SearchTemplateRequest.Builder()).build(), Void.class); + } + /** * Run a search with a search template. * diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java index 66ebb9d8c..d794ca26f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnQuery.java @@ -307,6 +307,17 @@ public final Builder queryVectorBuilder( return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); } + /** + * The query vector builder. You must provide a query_vector_builder or + * query_vector, but not both. + *

+ * API name: {@code query_vector_builder} + */ + public final Builder queryVectorBuilder(QueryVectorBuilderVariant value) { + this.queryVectorBuilder = value._toQueryVectorBuilder(); + return this; + } + /** * The number of nearest neighbor candidates to consider per shard *

@@ -351,6 +362,21 @@ public final Builder filter(Query value, Query... values) { return this; } + /** + * Filters for the kNN search query + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final Builder filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return this; + } + /** * Filters for the kNN search query *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java index ab29ddb82..b420cdeb1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnRetriever.java @@ -272,6 +272,16 @@ public final Builder queryVectorBuilder( return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); } + /** + * Defines a model to build a query vector. + *

+ * API name: {@code query_vector_builder} + */ + public final Builder queryVectorBuilder(QueryVectorBuilderVariant value) { + this.queryVectorBuilder = value._toQueryVectorBuilder(); + return this; + } + /** * Required - Number of nearest neighbors to return as top hits. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java index 3a1184c25..d8157c6b2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/KnnSearch.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.InnerHits; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -357,6 +358,17 @@ public final Builder queryVectorBuilder( return this.queryVectorBuilder(fn.apply(new QueryVectorBuilder.Builder()).build()); } + /** + * The query vector builder. You must provide a query_vector_builder or + * query_vector, but not both. + *

+ * API name: {@code query_vector_builder} + */ + public final Builder queryVectorBuilder(QueryVectorBuilderVariant value) { + this.queryVectorBuilder = value._toQueryVectorBuilder(); + return this; + } + /** * The final number of nearest neighbors to return as top hits *

@@ -411,6 +423,21 @@ public final Builder filter(Query value, Query... values) { return this; } + /** + * Filters for the kNN search query + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final Builder filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return this; + } + /** * Filters for the kNN search query *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java index 32c09c21a..6167946f5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/NestedSortValue.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -187,6 +188,14 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * API name: {@code max_children} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java index a828554de..0f1b3a4ec 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RRFRetriever.java @@ -186,6 +186,22 @@ public final Builder retrievers(Retriever value, Retriever... values) { return this; } + /** + * Required - A list of child retrievers to specify which sets of returned top + * documents will have the RRF formula applied to them. + *

+ * API name: {@code retrievers} + *

+ * Adds one or more values to retrievers. + */ + public final Builder retrievers(RetrieverVariant value, RetrieverVariant... values) { + this.retrievers = _listAdd(this.retrievers, value._toRetriever()); + for (RetrieverVariant v : values) { + _listAdd(this.retrievers, v._toRetriever()); + } + return this; + } + /** * Required - A list of child retrievers to specify which sets of returned top * documents will have the RRF formula applied to them. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java index 8b085c951..d73b206a7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/RetrieverBase.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -162,6 +163,21 @@ public final BuilderT filter(Query value, Query... values) { return self(); } + /** + * Query to filter the documents that can match. + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final BuilderT filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return self(); + } + /** * Query to filter the documents that can match. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java index cff330e81..2c7dae95f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/StandardRetriever.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.FieldCollapse; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -30,7 +31,7 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; -import java.util.ArrayList; +import java.lang.String; import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -231,6 +232,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines a query to retrieve a set of top documents. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Defines a search after object parameter used for pagination. *

@@ -260,15 +271,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -277,15 +286,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -294,15 +301,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -311,15 +316,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/TextSimilarityReranker.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/TextSimilarityReranker.java index 7e1773da9..a53b0e637 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/TextSimilarityReranker.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/TextSimilarityReranker.java @@ -221,6 +221,17 @@ public final Builder retriever(Function + * API name: {@code retriever} + */ + public final Builder retriever(RetrieverVariant value) { + this.retriever = value._toRetriever(); + return this; + } + /** * This value determines how many documents we will consider from the nested * retriever. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregation.java index eb86851a6..a175cf979 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/AdjacencyMatrixAggregation.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types.aggregations; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -180,6 +181,18 @@ public final Builder filters(String key, Query value) { return this; } + /** + * Filters used to create buckets. At least one filter is required. + *

+ * API name: {@code filters} + *

+ * Adds an entry to filters. + */ + public final Builder filters(String key, QueryVariant value) { + this.filters = _mapPut(this.filters, key, value._toQuery()); + return this; + } + /** * Filters used to create buckets. At least one filter is required. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java index f6287e03f..cfdb98e3c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/Aggregation.java @@ -1741,6 +1741,18 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * Sub-aggregations for this aggregation. Only applies to bucket aggregations. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * Sub-aggregations for this aggregation. Only applies to bucket aggregations. *

@@ -2648,6 +2660,18 @@ public final ContainerBuilder aggregations(String key, Aggregation value) { return this; } + /** + * Sub-aggregations for this aggregation. Only applies to bucket aggregations. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final ContainerBuilder aggregations(String key, AggregationVariant value) { + Builder.this.aggregations = _mapPut(Builder.this.aggregations, key, value._toAggregation()); + return this; + } + /** * Sub-aggregations for this aggregation. Only applies to bucket aggregations. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java index 96d0c0340..ee6fc9b3b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregate.java @@ -151,6 +151,46 @@ public final Builder afterKey(String key, FieldValue value) { return this; } + /** + * API name: {@code after_key} + *

+ * Adds an entry to afterKey. + */ + public final Builder afterKey(String key, String value) { + this.afterKey = _mapPut(this.afterKey, key, FieldValue.of(value)); + return this; + } + + /** + * API name: {@code after_key} + *

+ * Adds an entry to afterKey. + */ + public final Builder afterKey(String key, long value) { + this.afterKey = _mapPut(this.afterKey, key, FieldValue.of(value)); + return this; + } + + /** + * API name: {@code after_key} + *

+ * Adds an entry to afterKey. + */ + public final Builder afterKey(String key, double value) { + this.afterKey = _mapPut(this.afterKey, key, FieldValue.of(value)); + return this; + } + + /** + * API name: {@code after_key} + *

+ * Adds an entry to afterKey. + */ + public final Builder afterKey(String key, boolean value) { + this.afterKey = _mapPut(this.afterKey, key, FieldValue.of(value)); + return this; + } + /** * API name: {@code after_key} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java index e634962b0..218b4d34a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeAggregation.java @@ -233,6 +233,58 @@ public final Builder after(String key, FieldValue value) { return this; } + /** + * When paginating, use the after_key value returned in the + * previous response to retrieve the next page. + *

+ * API name: {@code after} + *

+ * Adds an entry to after. + */ + public final Builder after(String key, String value) { + this.after = _mapPut(this.after, key, FieldValue.of(value)); + return this; + } + + /** + * When paginating, use the after_key value returned in the + * previous response to retrieve the next page. + *

+ * API name: {@code after} + *

+ * Adds an entry to after. + */ + public final Builder after(String key, long value) { + this.after = _mapPut(this.after, key, FieldValue.of(value)); + return this; + } + + /** + * When paginating, use the after_key value returned in the + * previous response to retrieve the next page. + *

+ * API name: {@code after} + *

+ * Adds an entry to after. + */ + public final Builder after(String key, double value) { + this.after = _mapPut(this.after, key, FieldValue.of(value)); + return this; + } + + /** + * When paginating, use the after_key value returned in the + * previous response to retrieve the next page. + *

+ * API name: {@code after} + *

+ * Adds an entry to after. + */ + public final Builder after(String key, boolean value) { + this.after = _mapPut(this.after, key, FieldValue.of(value)); + return this; + } + /** * When paginating, use the after_key value returned in the * previous response to retrieve the next page. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeBucket.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeBucket.java index 3b3ff8fea..32bcfacf4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeBucket.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/CompositeBucket.java @@ -129,6 +129,46 @@ public final Builder key(String key, FieldValue value) { return this; } + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, String value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, long value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, double value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, boolean value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + /** * Required - API name: {@code key} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregation.java index d44302a5f..1fbf4f3bd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/FrequentItemSetsAggregation.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch._types.aggregations; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -306,6 +307,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Query that filters documents from analysis. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregation.java index 135086aff..7aafc221d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceAggregation.java @@ -160,6 +160,16 @@ public final Builder inferenceConfig(Function + * API name: {@code inference_config} + */ + public final Builder inferenceConfig(InferenceConfigVariant value) { + this.inferenceConfig = value._toInferenceConfig(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceTopClassEntry.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceTopClassEntry.java index 5651bb1d5..d2e20e6c0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceTopClassEntry.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/InferenceTopClassEntry.java @@ -32,6 +32,7 @@ import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Double; +import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsBucket.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsBucket.java index 8ae2d967f..d30021d42 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsBucket.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/MultiTermsBucket.java @@ -30,7 +30,6 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -173,60 +172,52 @@ public final Builder key(FieldValue value, FieldValue... values) { /** * Required - API name: {@code key} *

- * Adds all passed values to key. + * Adds one or more values to key. */ public final Builder key(String value, String... values) { this.key = _listAdd(this.key, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.key, FieldValue.of(v)); } - this.key = _listAddAll(this.key, fieldValues); return this; } /** * Required - API name: {@code key} *

- * Adds all passed values to key. + * Adds one or more values to key. */ public final Builder key(long value, long... values) { this.key = _listAdd(this.key, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.key, FieldValue.of(v)); } - this.key = _listAddAll(this.key, fieldValues); return this; } /** * Required - API name: {@code key} *

- * Adds all passed values to key. + * Adds one or more values to key. */ public final Builder key(double value, double... values) { this.key = _listAdd(this.key, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.key, FieldValue.of(v)); } - this.key = _listAddAll(this.key, fieldValues); return this; } /** * Required - API name: {@code key} *

- * Adds all passed values to key. + * Adds one or more values to key. */ public final Builder key(boolean value, boolean... values) { this.key = _listAdd(this.key, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.key, FieldValue.of(v)); } - this.key = _listAddAll(this.key, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregation.java index 712b8f059..2463940c4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTermsAggregation.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.EmptyObject; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -474,6 +475,17 @@ public final Builder backgroundFilter(Function + * API name: {@code background_filter} + */ + public final Builder backgroundFilter(QueryVariant value) { + this.backgroundFilter = value._toQuery(); + return this; + } + /** * Use Chi square, as described in "Information Retrieval", Manning et * al., Chapter 13.5.2, as the significance score. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTextAggregation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTextAggregation.java index 2c6cc95c6..d296c7f20 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTextAggregation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/SignificantTextAggregation.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.EmptyObject; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -522,6 +523,17 @@ public final Builder backgroundFilter(Function + * API name: {@code background_filter} + */ + public final Builder backgroundFilter(QueryVariant value) { + this.backgroundFilter = value._toQuery(); + return this; + } + /** * Use Chi square, as described in "Information Retrieval", Manning et * al., Chapter 13.5.2, as the significance score. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsBucket.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsBucket.java index edfe47d60..c76230069 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsBucket.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/StringTermsBucket.java @@ -28,6 +28,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; +import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TestPopulation.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TestPopulation.java index 3fb4ceefc..f6acc0ce9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TestPopulation.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TestPopulation.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.Script; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -202,6 +203,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * A filter used to define a set of records to run unpaired t-test on. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java index a2e88b47e..7b4158d98 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TimeSeriesBucket.java @@ -129,6 +129,46 @@ public final Builder key(String key, FieldValue value) { return this; } + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, String value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, long value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, double value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code key} + *

+ * Adds an entry to key. + */ + public final Builder key(String key, boolean value) { + this.key = _mapPut(this.key, key, FieldValue.of(value)); + return this; + } + /** * Required - API name: {@code key} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetrics.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetrics.java index 0b768b3ea..fa5c89b52 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetrics.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/aggregations/TopMetrics.java @@ -32,7 +32,6 @@ import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -169,60 +168,52 @@ public final Builder sort(FieldValue value, FieldValue... values) { /** * Required - API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(String value, String... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * Required - API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(long value, long... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * Required - API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(double value, double... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * Required - API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(boolean value, boolean... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } @@ -255,6 +246,46 @@ public final Builder metrics(String key, FieldValue value) { return this; } + /** + * Required - API name: {@code metrics} + *

+ * Adds an entry to metrics. + */ + public final Builder metrics(String key, String value) { + this.metrics = _mapPut(this.metrics, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code metrics} + *

+ * Adds an entry to metrics. + */ + public final Builder metrics(String key, long value) { + this.metrics = _mapPut(this.metrics, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code metrics} + *

+ * Adds an entry to metrics. + */ + public final Builder metrics(String key, double value) { + this.metrics = _mapPut(this.metrics, key, FieldValue.of(value)); + return this; + } + + /** + * Required - API name: {@code metrics} + *

+ * Adds an entry to metrics. + */ + public final Builder metrics(String key, boolean value) { + this.metrics = _mapPut(this.metrics, key, FieldValue.of(value)); + return this; + } + /** * Required - API name: {@code metrics} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoolQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoolQuery.java index 4cb2d4d36..383252ce0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoolQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoolQuery.java @@ -277,6 +277,22 @@ public final Builder filter(Query value, Query... values) { return this; } + /** + * The clause (query) must appear in matching documents. However, unlike + * must, the score of the query will be ignored. + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final Builder filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return this; + } + /** * The clause (query) must appear in matching documents. However, unlike * must, the score of the query will be ignored. @@ -326,6 +342,22 @@ public final Builder must(Query value, Query... values) { return this; } + /** + * The clause (query) must appear in matching documents and will contribute to + * the score. + *

+ * API name: {@code must} + *

+ * Adds one or more values to must. + */ + public final Builder must(QueryVariant value, QueryVariant... values) { + this.must = _listAdd(this.must, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.must, v._toQuery()); + } + return this; + } + /** * The clause (query) must appear in matching documents and will contribute to * the score. @@ -364,6 +396,22 @@ public final Builder mustNot(Query value, Query... values) { return this; } + /** + * The clause (query) must not appear in the matching documents. Because scoring + * is ignored, a score of 0 is returned for all documents. + *

+ * API name: {@code must_not} + *

+ * Adds one or more values to mustNot. + */ + public final Builder mustNot(QueryVariant value, QueryVariant... values) { + this.mustNot = _listAdd(this.mustNot, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.mustNot, v._toQuery()); + } + return this; + } + /** * The clause (query) must not appear in the matching documents. Because scoring * is ignored, a score of 0 is returned for all documents. @@ -400,6 +448,21 @@ public final Builder should(Query value, Query... values) { return this; } + /** + * The clause (query) should appear in the matching document. + *

+ * API name: {@code should} + *

+ * Adds one or more values to should. + */ + public final Builder should(QueryVariant value, QueryVariant... values) { + this.should = _listAdd(this.should, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.should, v._toQuery()); + } + return this; + } + /** * The clause (query) should appear in the matching document. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoostingQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoostingQuery.java index fc84a7188..658d5362d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoostingQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/BoostingQuery.java @@ -171,6 +171,16 @@ public final Builder negative(Function> fn) return this.negative(fn.apply(new Query.Builder()).build()); } + /** + * Required - Query used to decrease the relevance score of matching documents. + *

+ * API name: {@code negative} + */ + public final Builder negative(QueryVariant value) { + this.negative = value._toQuery(); + return this; + } + /** * Required - Any returned documents must match this query. *

@@ -190,6 +200,16 @@ public final Builder positive(Function> fn) return this.positive(fn.apply(new Query.Builder()).build()); } + /** + * Required - Any returned documents must match this query. + *

+ * API name: {@code positive} + */ + public final Builder positive(QueryVariant value) { + this.positive = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ConstantScoreQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ConstantScoreQuery.java index b67cad9ca..807185482 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ConstantScoreQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ConstantScoreQuery.java @@ -135,6 +135,19 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Required - Filter query you wish to run. Any returned documents must match + * this query. Filter queries do not calculate relevance scores. To speed up + * performance, Elasticsearch automatically caches frequently used filter + * queries. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DisMaxQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DisMaxQuery.java index f64279d95..b67e4d945 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DisMaxQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/DisMaxQuery.java @@ -167,6 +167,23 @@ public final Builder queries(Query value, Query... values) { return this; } + /** + * Required - One or more query clauses. Returned documents must match one or + * more of these queries. If a document matches multiple queries, Elasticsearch + * uses the highest relevance score. + *

+ * API name: {@code queries} + *

+ * Adds one or more values to queries. + */ + public final Builder queries(QueryVariant value, QueryVariant... values) { + this.queries = _listAdd(this.queries, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.queries, v._toQuery()); + } + return this; + } + /** * Required - One or more query clauses. Returned documents must match one or * more of these queries. If a document matches multiple queries, Elasticsearch diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScore.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScore.java index 58ce08b32..3ce930ecf 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScore.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/FunctionScore.java @@ -337,6 +337,14 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * API name: {@code weight} */ @@ -434,6 +442,14 @@ public final ContainerBuilder filter(Function + * API name: {@code functions} + *

+ * Adds one or more values to functions. + */ + public final Builder functions(FunctionScoreVariant value, FunctionScoreVariant... values) { + this.functions = _listAdd(this.functions, value._toFunctionScore()); + for (FunctionScoreVariant v : values) { + _listAdd(this.functions, v._toFunctionScore()); + } + return this; + } + /** * One or more functions that compute a new score for each document returned by * the query. @@ -314,6 +330,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * A query that determines the documents for which a new score is computed. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Specifies how the computed scores are combined *

@@ -359,7 +385,7 @@ protected static void setupFunctionScoreQueryDeserializer(ObjectDeserializer> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - Query you wish to run on child documents of the type + * field. If a child document matches the search, the query returns the parent + * document. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Indicates how scores for matching child documents affect the root parent * document’s relevance score. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasParentQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasParentQuery.java index 8a31667ca..a4f742c2a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasParentQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/HasParentQuery.java @@ -263,6 +263,18 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - Query you wish to run on parent documents of the + * parent_type field. If a parent document matches the search, the + * query returns its child documents. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Indicates whether the relevance score of a matching parent document is * aggregated into its child documents. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAllOf.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAllOf.java index 64e5be025..2af6fed33 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAllOf.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAllOf.java @@ -234,6 +234,22 @@ public final Builder intervals(Intervals value, Intervals... values) { return this; } + /** + * Required - An array of rules to combine. All rules must produce a match in a + * document for the overall source to match. + *

+ * API name: {@code intervals} + *

+ * Adds one or more values to intervals. + */ + public final Builder intervals(IntervalsVariant value, IntervalsVariant... values) { + this.intervals = _listAdd(this.intervals, value._toIntervals()); + for (IntervalsVariant v : values) { + _listAdd(this.intervals, v._toIntervals()); + } + return this; + } + /** * Required - An array of rules to combine. All rules must produce a match in a * document for the overall source to match. @@ -287,6 +303,16 @@ public final Builder filter(Function + * API name: {@code filter} + */ + public final Builder filter(IntervalsFilterVariant value) { + this.filter = value._toIntervalsFilter(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAnyOf.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAnyOf.java index eb5906894..c90c9154a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAnyOf.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsAnyOf.java @@ -183,6 +183,21 @@ public final Builder intervals(Intervals value, Intervals... values) { return this; } + /** + * Required - An array of rules to match. + *

+ * API name: {@code intervals} + *

+ * Adds one or more values to intervals. + */ + public final Builder intervals(IntervalsVariant value, IntervalsVariant... values) { + this.intervals = _listAdd(this.intervals, value._toIntervals()); + for (IntervalsVariant v : values) { + _listAdd(this.intervals, v._toIntervals()); + } + return this; + } + /** * Required - An array of rules to match. *

@@ -213,6 +228,16 @@ public final Builder filter(Function + * API name: {@code filter} + */ + public final Builder filter(IntervalsFilterVariant value) { + this.filter = value._toIntervalsFilter(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsMatch.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsMatch.java index 40825cac6..70bfa7a71 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsMatch.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/IntervalsMatch.java @@ -317,6 +317,16 @@ public final Builder filter(Function + * API name: {@code filter} + */ + public final Builder filter(IntervalsFilterVariant value) { + this.filter = value._toIntervalsFilter(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NestedQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NestedQuery.java index 2a62dc8a6..5796faae5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NestedQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/NestedQuery.java @@ -251,6 +251,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - Query you wish to run on nested objects in the path. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * How scores for matching child objects affect the root parent document’s * relevance score. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQuery.java index 29380475f..a58ff627f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/PinnedQuery.java @@ -247,6 +247,17 @@ public final Builder organic(Function> fn) { return this.organic(fn.apply(new Query.Builder()).build()); } + /** + * Required - Any choice of query used to rank documents which will be ranked + * below the "pinned" documents. + *

+ * API name: {@code organic} + */ + public final Builder organic(QueryVariant value) { + this.organic = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; @@ -291,6 +302,17 @@ public final ContainerBuilder organic(Function + * API name: {@code organic} + */ + public final ContainerBuilder organic(QueryVariant value) { + Builder.this.organic = value._toQuery(); + return this; + } + public PinnedQuery build() { return Builder.this.build(); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RuleQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RuleQuery.java index 3fa84199f..655842172 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RuleQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/RuleQuery.java @@ -157,6 +157,14 @@ public final Builder organic(Function> fn) { return this.organic(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code organic} + */ + public final Builder organic(QueryVariant value) { + this.organic = value._toQuery(); + return this; + } + /** * Required - API name: {@code ruleset_ids} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreQuery.java index 9acda56f2..4f68a9d07 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/ScriptScoreQuery.java @@ -179,6 +179,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - Query used to return documents. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Required - Script used to compute the score of documents returned by the * query. Important: final relevance scores from the script_score diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanContainingQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanContainingQuery.java index 0e4633e17..cfdd23ca8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanContainingQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanContainingQuery.java @@ -155,6 +155,17 @@ public final Builder big(Function> f return this.big(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - Can be any span query. Matching spans from big that + * contain matches from little are returned. + *

+ * API name: {@code big} + */ + public final Builder big(SpanQueryVariant value) { + this.big = value._toSpanQuery(); + return this; + } + /** * Required - Can be any span query. Matching spans from big that * contain matches from little are returned. @@ -176,6 +187,17 @@ public final Builder little(Function return this.little(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - Can be any span query. Matching spans from big that + * contain matches from little are returned. + *

+ * API name: {@code little} + */ + public final Builder little(SpanQueryVariant value) { + this.little = value._toSpanQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFieldMaskingQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFieldMaskingQuery.java index 3f6aaa081..3da6d3872 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFieldMaskingQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFieldMaskingQuery.java @@ -152,6 +152,14 @@ public final Builder query(Function> return this.query(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(SpanQueryVariant value) { + this.query = value._toSpanQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFirstQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFirstQuery.java index fedcfbe70..f31716951 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFirstQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanFirstQuery.java @@ -160,6 +160,16 @@ public final Builder match(Function> return this.match(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - Can be any other span type query. + *

+ * API name: {@code match} + */ + public final Builder match(SpanQueryVariant value) { + this.match = value._toSpanQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanMultiTermQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanMultiTermQuery.java index d9bc10fcb..92a46995d 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanMultiTermQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanMultiTermQuery.java @@ -140,6 +140,18 @@ public final Builder match(Function> fn) { return this.match(fn.apply(new Query.Builder()).build()); } + /** + * Required - Should be a multi term query (one of wildcard, + * fuzzy, prefix, range, or + * regexp query). + *

+ * API name: {@code match} + */ + public final Builder match(QueryVariant value) { + this.match = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNearQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNearQuery.java index e8c27b90e..64e5a8903 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNearQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNearQuery.java @@ -192,6 +192,21 @@ public final Builder clauses(SpanQuery value, SpanQuery... values) { return this; } + /** + * Required - Array of one or more other span type queries. + *

+ * API name: {@code clauses} + *

+ * Adds one or more values to clauses. + */ + public final Builder clauses(SpanQueryVariant value, SpanQueryVariant... values) { + this.clauses = _listAdd(this.clauses, value._toSpanQuery()); + for (SpanQueryVariant v : values) { + _listAdd(this.clauses, v._toSpanQuery()); + } + return this; + } + /** * Required - Array of one or more other span type queries. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNotQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNotQuery.java index e0582e2a4..0dc0b614c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNotQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanNotQuery.java @@ -233,6 +233,16 @@ public final Builder exclude(Function + * API name: {@code exclude} + */ + public final Builder exclude(SpanQueryVariant value) { + this.exclude = value._toSpanQuery(); + return this; + } + /** * Required - Span query whose matches are filtered. *

@@ -252,6 +262,16 @@ public final Builder include(Function + * API name: {@code include} + */ + public final Builder include(SpanQueryVariant value) { + this.include = value._toSpanQuery(); + return this; + } + /** * The number of tokens after the include span that can’t have overlap with the * exclude span. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanOrQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanOrQuery.java index c40beb957..7827ba81b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanOrQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanOrQuery.java @@ -145,6 +145,21 @@ public final Builder clauses(SpanQuery value, SpanQuery... values) { return this; } + /** + * Required - Array of one or more other span type queries. + *

+ * API name: {@code clauses} + *

+ * Adds one or more values to clauses. + */ + public final Builder clauses(SpanQueryVariant value, SpanQueryVariant... values) { + this.clauses = _listAdd(this.clauses, value._toSpanQuery()); + for (SpanQueryVariant v : values) { + _listAdd(this.clauses, v._toSpanQuery()); + } + return this; + } + /** * Required - Array of one or more other span type queries. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanWithinQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanWithinQuery.java index a0688abc1..c1b3a6554 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanWithinQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/query_dsl/SpanWithinQuery.java @@ -153,6 +153,17 @@ public final Builder big(Function> f return this.big(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - Can be any span query. Matching spans from little + * that are enclosed within big are returned. + *

+ * API name: {@code big} + */ + public final Builder big(SpanQueryVariant value) { + this.big = value._toSpanQuery(); + return this; + } + /** * Required - Can be any span query. Matching spans from little * that are enclosed within big are returned. @@ -174,6 +185,17 @@ public final Builder little(Function return this.little(fn.apply(new SpanQuery.Builder()).build()); } + /** + * Required - Can be any span query. Matching spans from little + * that are enclosed within big are returned. + *

+ * API name: {@code little} + */ + public final Builder little(SpanQueryVariant value) { + this.little = value._toSpanQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java index 79951fd94..cbb5788f3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchAsyncClient.java @@ -161,6 +161,27 @@ public final CompletableFuture> ge return get(fn.apply(new GetAsyncSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #get(GetAsyncSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> get(GetAsyncSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetAsyncSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> get( + Function> fn) { + return get(fn.apply(new GetAsyncSearchRequest.Builder()).build(), Void.class); + } + /** * Get async search results. *

@@ -311,6 +332,27 @@ public final CompletableFuture> submit( return submit(fn.apply(new SubmitRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #submit(SubmitRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> submit(SubmitRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SubmitRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #submit(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> submit( + Function> fn) { + return submit(fn.apply(new SubmitRequest.Builder()).build(), Void.class); + } + /** * Run an async search. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java index 9594c3d72..c7597dfac 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/ElasticsearchAsyncSearchClient.java @@ -162,6 +162,28 @@ public final GetAsyncSearchResponse get( return get(fn.apply(new GetAsyncSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #get(GetAsyncSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public GetAsyncSearchResponse get(GetAsyncSearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) GetAsyncSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final GetAsyncSearchResponse get( + Function> fn) + throws IOException, ElasticsearchException { + return get(fn.apply(new GetAsyncSearchRequest.Builder()).build(), Void.class); + } + /** * Get async search results. *

@@ -316,6 +338,27 @@ public final SubmitResponse submit( return submit(fn.apply(new SubmitRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #submit(SubmitRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public SubmitResponse submit(SubmitRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SubmitRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #submit(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final SubmitResponse submit(Function> fn) + throws IOException, ElasticsearchException { + return submit(fn.apply(new SubmitRequest.Builder()).build(), Void.class); + } + /** * Run an async search. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java index dc9e432de..e0804d1b7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/async_search/SubmitRequest.java @@ -30,14 +30,17 @@ import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.FieldCollapse; import co.elastic.clients.elasticsearch.core.search.Highlight; import co.elastic.clients.elasticsearch.core.search.PointInTimeReference; import co.elastic.clients.elasticsearch.core.search.Rescore; +import co.elastic.clients.elasticsearch.core.search.RescoreVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.elasticsearch.core.search.Suggester; import co.elastic.clients.elasticsearch.core.search.TrackHits; @@ -58,7 +61,6 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -1370,6 +1372,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -1863,6 +1875,14 @@ public final Builder postFilter(Function> fn return this.postFilter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code post_filter} + */ + public final Builder postFilter(QueryVariant value) { + this.postFilter = value._toQuery(); + return this; + } + /** * The default value cannot be changed, which enforces the execution of a * pre-filter roundtrip to retrieve statistics from each shard so that the ones @@ -1923,6 +1943,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Specify if request cache should be used for this request or not, defaults to * true @@ -1954,6 +1984,19 @@ public final Builder rescore(Rescore value, Rescore... values) { return this; } + /** + * API name: {@code rescore} + *

+ * Adds one or more values to rescore. + */ + public final Builder rescore(RescoreVariant value, RescoreVariant... values) { + this.rescore = _listAdd(this.rescore, value._toRescore()); + for (RescoreVariant v : values) { + _listAdd(this.rescore, v._toRescore()); + } + return this; + } + /** * API name: {@code rescore} *

@@ -2070,60 +2113,52 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java index b81e9ab31..a09f46961 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/BulkRequest.java @@ -25,6 +25,7 @@ import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.WaitForActiveShards; import co.elastic.clients.elasticsearch.core.bulk.BulkOperation; +import co.elastic.clients.elasticsearch.core.bulk.BulkOperationVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfigParam; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -551,6 +552,19 @@ public final Builder operations(BulkOperation value, BulkOperation... values) { return this; } + /** + * Required - Request body. + *

+ * Adds one or more values to operations. + */ + public final Builder operations(BulkOperationVariant value, BulkOperationVariant... values) { + this.operations = _listAdd(this.operations, value._toBulkOperation()); + for (BulkOperationVariant v : values) { + _listAdd(this.operations, v._toBulkOperation()); + } + return this; + } + /** * Required - Request body. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java index 7fe4999b6..b8d4ee9fd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/CountRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -601,6 +602,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Custom value used to route operations to a specific shard. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.java index 5b10609a9..c7e67c571 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/DeleteByQueryRequest.java @@ -30,6 +30,7 @@ import co.elastic.clients.elasticsearch._types.WaitForActiveShards; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -903,6 +904,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Specifies the documents to delete using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * If true, Elasticsearch refreshes all shards involved in the * delete by query after the request completes. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ExplainRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ExplainRequest.java index 06f8e861c..1ffcc8500 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ExplainRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/ExplainRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfigParam; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -540,6 +541,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Custom value used to route operations to a specific shard. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java index 49835f35f..044b93259 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/FieldCapsRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -490,6 +491,17 @@ public final Builder indexFilter(Function> f return this.indexFilter(fn.apply(new Query.Builder()).build()); } + /** + * Allows to filter indices if the provided query rewrites to match_none on + * every shard. + *

+ * API name: {@code index_filter} + */ + public final Builder indexFilter(QueryVariant value) { + this.indexFilter = value._toQuery(); + return this; + } + /** * Defines ad-hoc runtime fields in the request similar to the way it is done in * search requests. These fields exist only as part of the query and take diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java index de8f79bee..12cf21a10 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/KnnSearchRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.knn_search.KnnSearchQuery; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.json.JsonpDeserializable; @@ -423,6 +424,24 @@ public final Builder filter(Query value, Query... values) { return this; } + /** + * Query to filter the documents that can match. The kNN search will return the + * top k documents that also match this filter. The value can be a + * single query or a list of queries. If filter isn't provided, all + * documents are allowed to match. + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final Builder filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return this; + } + /** * Query to filter the documents that can match. The kNN search will return the * top k documents that also match this filter. The value can be a diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java index 33f573830..877337a02 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/OpenPointInTimeRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -368,6 +369,17 @@ public final Builder indexFilter(Function> f return this.indexFilter(fn.apply(new Query.Builder()).build()); } + /** + * Allows to filter indices if the provided query rewrites to + * match_none on every shard. + *

+ * API name: {@code index_filter} + */ + public final Builder indexFilter(QueryVariant value) { + this.indexFilter = value._toQuery(); + return this; + } + /** * Required - Extends the time to live of the corresponding point in time. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java index 45afb9ef6..776e2e7b4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchMvtRequest.java @@ -23,8 +23,10 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.TrackHits; import co.elastic.clients.elasticsearch.core.search_mvt.GridAggregationType; import co.elastic.clients.elasticsearch.core.search_mvt.GridType; @@ -578,6 +580,27 @@ public final Builder aggs(String key, Aggregation value) { return this; } + /** + * Sub-aggregations for the geotile_grid. + *

+ * Supports the following aggregation types: + *

    + *
  • avg
  • + *
  • cardinality
  • + *
  • max
  • + *
  • min
  • + *
  • sum
  • + *
+ *

+ * API name: {@code aggs} + *

+ * Adds an entry to aggs. + */ + public final Builder aggs(String key, AggregationVariant value) { + this.aggs = _mapPut(this.aggs, key, value._toAggregation()); + return this; + } + /** * Sub-aggregations for the geotile_grid. *

@@ -753,6 +776,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Query DSL used to filter documents for the search. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Defines one or more runtime fields in the search request. These fields take * precedence over mapped fields with the same name. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java index f03adcb03..9227ac7f7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/SearchRequest.java @@ -24,22 +24,27 @@ import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch._types.KnnSearch; import co.elastic.clients.elasticsearch._types.Rank; +import co.elastic.clients.elasticsearch._types.RankVariant; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Retriever; +import co.elastic.clients.elasticsearch._types.RetrieverVariant; import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.SearchType; import co.elastic.clients.elasticsearch._types.SlicedScroll; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.FieldCollapse; import co.elastic.clients.elasticsearch.core.search.Highlight; import co.elastic.clients.elasticsearch.core.search.PointInTimeReference; import co.elastic.clients.elasticsearch.core.search.Rescore; +import co.elastic.clients.elasticsearch.core.search.RescoreVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.elasticsearch.core.search.Suggester; import co.elastic.clients.elasticsearch.core.search.TrackHits; @@ -60,7 +65,6 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -1472,6 +1476,18 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * Defines the aggregations that are run as part of the search request. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * Defines the aggregations that are run as part of the search request. *

@@ -1990,6 +2006,18 @@ public final Builder postFilter(Function> fn return this.postFilter(fn.apply(new Query.Builder()).build()); } + /** + * Use the post_filter parameter to filter search results. The + * search hits are filtered after the aggregations are calculated. A post filter + * has no impact on the aggregation results. + *

+ * API name: {@code post_filter} + */ + public final Builder postFilter(QueryVariant value) { + this.postFilter = value._toQuery(); + return this; + } + /** * Defines a threshold that enforces a pre-filter roundtrip to prefilter search * shards based on query rewriting if the number of shards the search request @@ -2076,6 +2104,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Defines the Reciprocal Rank Fusion (RRF) to use. *

@@ -2095,6 +2133,16 @@ public final Builder rank(Function> fn) { return this.rank(fn.apply(new Rank.Builder()).build()); } + /** + * Defines the Reciprocal Rank Fusion (RRF) to use. + *

+ * API name: {@code rank} + */ + public final Builder rank(RankVariant value) { + this.rank = value._toRank(); + return this; + } + /** * If true, the caching of search results is enabled for requests * where size is 0. Defaults to index level settings. @@ -2134,6 +2182,23 @@ public final Builder rescore(Rescore value, Rescore... values) { return this; } + /** + * Can be used to improve precision by reordering just the top (for example 100 + * - 500) documents returned by the query and + * post_filter phases. + *

+ * API name: {@code rescore} + *

+ * Adds one or more values to rescore. + */ + public final Builder rescore(RescoreVariant value, RescoreVariant... values) { + this.rescore = _listAdd(this.rescore, value._toRescore()); + for (RescoreVariant v : values) { + _listAdd(this.rescore, v._toRescore()); + } + return this; + } + /** * Can be used to improve precision by reordering just the top (for example 100 * - 500) documents returned by the query and @@ -2170,6 +2235,18 @@ public final Builder retriever(Function + * API name: {@code retriever} + */ + public final Builder retriever(RetrieverVariant value) { + this.retriever = value._toRetriever(); + return this; + } + /** * Custom value used to route operations to a specific shard. *

@@ -2311,15 +2388,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -2329,15 +2404,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -2347,15 +2420,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -2365,15 +2436,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java index 8e9c8adad..bbd2cda43 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/TermsEnumRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -336,6 +337,16 @@ public final Builder indexFilter(Function> f return this.indexFilter(fn.apply(new Query.Builder()).build()); } + /** + * Allows to filter an index shard if the provided query rewrites to match_none. + *

+ * API name: {@code index_filter} + */ + public final Builder indexFilter(QueryVariant value) { + this.indexFilter = value._toQuery(); + return this; + } + /** * API name: {@code search_after} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRequest.java index 869a86813..503beb22c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/UpdateByQueryRequest.java @@ -31,6 +31,7 @@ import co.elastic.clients.elasticsearch._types.WaitForActiveShards; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -986,6 +987,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Specifies the documents to update using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * If true, Elasticsearch refreshes affected shards to make the * operation visible to search. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchBody.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchBody.java index 100303892..b3a2b5702 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchBody.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/msearch/MultisearchBody.java @@ -24,13 +24,16 @@ import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.FieldCollapse; import co.elastic.clients.elasticsearch.core.search.Highlight; import co.elastic.clients.elasticsearch.core.search.PointInTimeReference; import co.elastic.clients.elasticsearch.core.search.Rescore; +import co.elastic.clients.elasticsearch.core.search.RescoreVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.elasticsearch.core.search.Suggester; import co.elastic.clients.elasticsearch.core.search.TrackHits; @@ -51,7 +54,6 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -881,6 +883,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -924,6 +936,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * If true, returns detailed information about score computation as part of a * hit. @@ -1139,6 +1161,14 @@ public final Builder postFilter(Function> fn return this.postFilter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code post_filter} + */ + public final Builder postFilter(QueryVariant value) { + this.postFilter = value._toQuery(); + return this; + } + /** * API name: {@code profile} */ @@ -1167,6 +1197,19 @@ public final Builder rescore(Rescore value, Rescore... values) { return this; } + /** + * API name: {@code rescore} + *

+ * Adds one or more values to rescore. + */ + public final Builder rescore(RescoreVariant value, RescoreVariant... values) { + this.rescore = _listAdd(this.rescore, value._toRescore()); + for (RescoreVariant v : values) { + _listAdd(this.rescore, v._toRescore()); + } + return this; + } + /** * API name: {@code rescore} *

@@ -1234,60 +1277,52 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalQuery.java index 133c82c31..a46939333 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/rank_eval/RankEvalQuery.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.core.rank_eval; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -148,6 +149,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * API name: {@code size} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Source.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Source.java index 99e8c3ab4..835a16f3a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Source.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/reindex/Source.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -337,6 +338,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Specifies the documents to reindex using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * A remote instance of Elasticsearch that you want to index from. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/scripts_painless_execute/PainlessContextSetup.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/scripts_painless_execute/PainlessContextSetup.java index f97e35159..4a5037a0f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/scripts_painless_execute/PainlessContextSetup.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/scripts_painless_execute/PainlessContextSetup.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.core.scripts_painless_execute; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -202,6 +203,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Use this parameter to specify a query for computing a score. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightBase.java index 7b9a6e3ab..1117b701a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/HighlightBase.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.core.search; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -716,6 +717,18 @@ public final BuilderT highlightQuery(Function + * API name: {@code highlight_query} + */ + public final BuilderT highlightQuery(QueryVariant value) { + this.highlightQuery = value._toQuery(); + return self(); + } + /** * API name: {@code max_fragment_length} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java index 9ea85b100..f45d23e87 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Hit.java @@ -39,7 +39,6 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -825,60 +824,52 @@ public final Builder sort(FieldValue value, FieldValue... values) { /** * API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(String value, String... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(long value, long... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(double value, double... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(boolean value, boolean... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggester.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggester.java index 599e73094..ea147170b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggester.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/PhraseSuggester.java @@ -580,6 +580,18 @@ public final Builder smoothing(Function + * API name: {@code smoothing} + */ + public final Builder smoothing(SmoothingModelVariant value) { + this.smoothing = value._toSmoothingModel(); + return this; + } + /** * The text/query to provide suggestions for. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreQuery.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreQuery.java index 0aa3cb24d..45be3d8c8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreQuery.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/RescoreQuery.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.core.search; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -213,6 +214,18 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - The query to use for rescoring. This query is only run on the + * Top-K results returned by the query and post_filter + * phases. + *

+ * API name: {@code rescore_query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Relative importance of the original query versus the rescore query. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggester.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggester.java index cd86f5384..47477ebfe 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggester.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search/Suggester.java @@ -159,6 +159,16 @@ public final Builder suggesters(String key, FieldSuggester value) { return this; } + /** + * The named suggesters + *

+ * Adds an entry to suggesters. + */ + public final Builder suggesters(String key, FieldSuggesterVariant value) { + this.suggesters = _mapPut(this.suggesters, key, value._toFieldSuggester()); + return this; + } + /** * The named suggesters *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search_shards/ShardStoreIndex.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search_shards/ShardStoreIndex.java index 2f8988284..ca1d43c0e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search_shards/ShardStoreIndex.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/core/search_shards/ShardStoreIndex.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.core.search_shards; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -177,6 +178,14 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index de3c3f7e7..becf1c4a9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -2970,10 +2970,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/d1271d7ffaeb1d4c3e2d4f8386c351f96098a91d/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/a7f36c9921ee9fa15e8ab778eedcbbf04e743092/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java index 9030036ee..60bf033b7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/EnrichPolicy.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.enrich; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -280,6 +281,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * API name: {@code name} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java index 25ff80d43..ef35ed748 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlAsyncClient.java @@ -138,6 +138,27 @@ public final CompletableFuture> get( return get(fn.apply(new EqlGetRequest.Builder()).build(), tEventClass); } + /** + * Overload of {@link #get(EqlGetRequest, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> get(EqlGetRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> get( + Function> fn) { + return get(fn.apply(new EqlGetRequest.Builder()).build(), Void.class); + } + /** * Get async EQL search results. Get the current status and available results * for an async EQL search or a stored synchronous EQL search. @@ -248,6 +269,27 @@ public final CompletableFuture> search( return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventClass); } + /** + * Overload of {@link #search(EqlSearchRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> search(EqlSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> search( + Function> fn) { + return search(fn.apply(new EqlSearchRequest.Builder()).build(), Void.class); + } + /** * Get EQL search results. Returns search results for an Event Query Language * (EQL) query. EQL assumes each document in a data stream or index corresponds diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java index 53f87ee16..fcffee9eb 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/ElasticsearchEqlClient.java @@ -140,6 +140,27 @@ public final EqlGetResponse get(Function get(EqlGetRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlGetRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #get(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final EqlGetResponse get(Function> fn) + throws IOException, ElasticsearchException { + return get(fn.apply(new EqlGetRequest.Builder()).build(), Void.class); + } + /** * Get async EQL search results. Get the current status and available results * for an async EQL search or a stored synchronous EQL search. @@ -253,6 +274,27 @@ public final EqlSearchResponse search( return search(fn.apply(new EqlSearchRequest.Builder()).build(), tEventClass); } + /** + * Overload of {@link #search(EqlSearchRequest, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public EqlSearchResponse search(EqlSearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) EqlSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final EqlSearchResponse search(Function> fn) + throws IOException, ElasticsearchException { + return search(fn.apply(new EqlSearchRequest.Builder()).build(), Void.class); + } + /** * Get EQL search results. Returns search results for an Event Query Language * (EQL) query. EQL assumes each document in a data stream or index corresponds diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java index a06bce4f4..ed0adadca 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/eql/EqlSearchRequest.java @@ -26,6 +26,7 @@ import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.eql.search.ResultPosition; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -592,6 +593,22 @@ public final Builder filter(Query value, Query... values) { return this; } + /** + * Query, written in Query DSL, used to filter the events on which the EQL query + * runs. + *

+ * API name: {@code filter} + *

+ * Adds one or more values to filter. + */ + public final Builder filter(QueryVariant value, QueryVariant... values) { + this.filter = _listAdd(this.filter, value._toQuery()); + for (QueryVariant v : values) { + _listAdd(this.filter, v._toQuery()); + } + return this; + } + /** * Query, written in Query DSL, used to filter the events on which the EQL query * runs. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java index 0d235bbc5..b706bd537 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/esql/QueryRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.esql.query.EsqlFormat; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -39,7 +40,6 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; import java.lang.String; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -394,6 +394,17 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Specify a Query DSL query in the filter parameter to filter the set of + * documents that an ES|QL query runs on. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * A short version of the Accept header, e.g. json, yaml. *

@@ -447,15 +458,13 @@ public final Builder params(FieldValue value, FieldValue... values) { *

* API name: {@code params} *

- * Adds all passed values to params. + * Adds one or more values to params. */ public final Builder params(String value, String... values) { this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.params, FieldValue.of(v)); } - this.params = _listAddAll(this.params, fieldValues); return this; } @@ -466,15 +475,13 @@ public final Builder params(String value, String... values) { *

* API name: {@code params} *

- * Adds all passed values to params. + * Adds one or more values to params. */ public final Builder params(long value, long... values) { this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.params, FieldValue.of(v)); } - this.params = _listAddAll(this.params, fieldValues); return this; } @@ -485,15 +492,13 @@ public final Builder params(long value, long... values) { *

* API name: {@code params} *

- * Adds all passed values to params. + * Adds one or more values to params. */ public final Builder params(double value, double... values) { this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.params, FieldValue.of(v)); } - this.params = _listAddAll(this.params, fieldValues); return this; } @@ -504,15 +509,13 @@ public final Builder params(double value, double... values) { *

* API name: {@code params} *

- * Adds all passed values to params. + * Adds one or more values to params. */ public final Builder params(boolean value, boolean... values) { this.params = _listAdd(this.params, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.params, FieldValue.of(v)); } - this.params = _listAddAll(this.params, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java index 3dd41c32c..e49a09641 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetAsyncClient.java @@ -104,6 +104,27 @@ public final CompletableFuture> searc return search(fn.apply(new FleetSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #search(FleetSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> search(FleetSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) FleetSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> search( + Function> fn) { + return search(fn.apply(new FleetSearchRequest.Builder()).build(), Void.class); + } + /** * The purpose of the fleet search api is to provide a search api where the * search will only be executed after provided checkpoint has been processed and diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java index 6cc870710..39e25b97b 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/ElasticsearchFleetClient.java @@ -104,6 +104,28 @@ public final FleetSearchResponse search( return search(fn.apply(new FleetSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #search(FleetSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public FleetSearchResponse search(FleetSearchRequest request) throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) FleetSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final FleetSearchResponse search( + Function> fn) + throws IOException, ElasticsearchException { + return search(fn.apply(new FleetSearchRequest.Builder()).build(), Void.class); + } + /** * The purpose of the fleet search api is to provide a search api where the * search will only be executed after provided checkpoint has been processed and diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java index 898fa6d7f..af605284f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/fleet/FleetSearchRequest.java @@ -29,14 +29,17 @@ import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.FieldCollapse; import co.elastic.clients.elasticsearch.core.search.Highlight; import co.elastic.clients.elasticsearch.core.search.PointInTimeReference; import co.elastic.clients.elasticsearch.core.search.Rescore; +import co.elastic.clients.elasticsearch.core.search.RescoreVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.elasticsearch.core.search.Suggester; import co.elastic.clients.elasticsearch.core.search.TrackHits; @@ -57,7 +60,6 @@ import java.lang.Integer; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -1263,6 +1265,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -1638,6 +1650,14 @@ public final Builder postFilter(Function> fn return this.postFilter(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code post_filter} + */ + public final Builder postFilter(QueryVariant value) { + this.postFilter = value._toQuery(); + return this; + } + /** * API name: {@code pre_filter_shard_size} */ @@ -1689,6 +1709,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Defines the search definition using the Query DSL. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * API name: {@code request_cache} */ @@ -1717,6 +1747,19 @@ public final Builder rescore(Rescore value, Rescore... values) { return this; } + /** + * API name: {@code rescore} + *

+ * Adds one or more values to rescore. + */ + public final Builder rescore(RescoreVariant value, RescoreVariant... values) { + this.rescore = _listAdd(this.rescore, value._toRescore()); + for (RescoreVariant v : values) { + _listAdd(this.rescore, v._toRescore()); + } + return this; + } + /** * API name: {@code rescore} *

@@ -1846,60 +1889,52 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } /** * API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java index 70a34690e..12f57c5d0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/ExploreRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -336,6 +337,17 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * A seed query that identifies the documents of interest. Can be any valid + * Elasticsearch query. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Custom value used to route operations to a specific shard. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java index 8429c193a..4c8b19bb4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/graph/Hop.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.graph; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -204,6 +205,17 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - An optional guiding query that constrains the Graph API as it + * explores connected terms. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Required - Contains the fields you are interested in. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java index 8c0790e01..0a2570010 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/Alias.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.indices; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -251,6 +252,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Query used to limit documents the alias can access. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Value used to route indexing operations to a specific shard. If specified, * this overwrites the routing value for indexing operations. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java index 85365490e..ec840333e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/AliasDefinition.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.indices; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -251,6 +252,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Query used to limit documents the alias can access. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Value used to route indexing operations to a specific shard. If specified, * this overwrites the routing value for indexing operations. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java index 92b887ae5..fe3e20208 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ModifyDataStreamRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch.indices.modify_data_stream.Action; +import co.elastic.clients.elasticsearch.indices.modify_data_stream.ActionVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -148,6 +149,21 @@ public final Builder actions(Action value, Action... values) { return this; } + /** + * Required - Actions to perform. + *

+ * API name: {@code actions} + *

+ * Adds one or more values to actions. + */ + public final Builder actions(ActionVariant value, ActionVariant... values) { + this.actions = _listAdd(this.actions, value._toAction()); + for (ActionVariant v : values) { + _listAdd(this.actions, v._toAction()); + } + return this; + } + /** * Required - Actions to perform. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java index 75f743d04..2a7ef5cff 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/PutAliasRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -308,6 +309,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Query used to limit documents the alias can access. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Required - Comma-separated list of data streams or indices to add. Supports * wildcards (*). Wildcard patterns that match both data streams diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java index 8c5b888d7..095be27ed 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/UpdateAliasesRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch.indices.update_aliases.Action; +import co.elastic.clients.elasticsearch.indices.update_aliases.ActionVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -186,6 +187,21 @@ public final Builder actions(Action value, Action... values) { return this; } + /** + * Actions to perform. + *

+ * API name: {@code actions} + *

+ * Adds one or more values to actions. + */ + public final Builder actions(ActionVariant value, ActionVariant... values) { + this.actions = _listAdd(this.actions, value._toAction()); + for (ActionVariant v : values) { + _listAdd(this.actions, v._toAction()); + } + return this; + } + /** * Actions to perform. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java index 0d2ae4412..aa1adbba2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/ValidateQueryRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Operator; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -554,6 +555,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Query in the Lucene query string syntax. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * If true, returns a more detailed explanation showing the actual * Lucene query that will be executed. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/AddAction.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/AddAction.java index 132029e0b..a230ea65e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/AddAction.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/indices/update_aliases/AddAction.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.indices.update_aliases; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -414,6 +415,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Query used to limit documents the alias can access. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Data stream or index for the action. Supports wildcards (*). *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResponse.java index 3eba0b8fa..040a715f0 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceResponse.java @@ -117,6 +117,14 @@ public final Builder valueBody(Function + * API name: {@code processor} + */ + public final Builder processor(ProcessorVariant value) { + this.processor = value._toProcessor(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceProcessor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceProcessor.java index 34bf10c54..48de84447 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceProcessor.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/InferenceProcessor.java @@ -252,6 +252,16 @@ public final Builder inferenceConfig(Function + * API name: {@code inference_config} + */ + public final Builder inferenceConfig(InferenceConfigVariant value) { + this.inferenceConfig = value._toInferenceConfig(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java index 3122f6f6b..2af7a66c7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/Pipeline.java @@ -281,6 +281,21 @@ public final Builder onFailure(Processor value, Processor... values) { return this; } + /** + * Processors to run immediately after a processor failure. + *

+ * API name: {@code on_failure} + *

+ * Adds one or more values to onFailure. + */ + public final Builder onFailure(ProcessorVariant value, ProcessorVariant... values) { + this.onFailure = _listAdd(this.onFailure, value._toProcessor()); + for (ProcessorVariant v : values) { + _listAdd(this.onFailure, v._toProcessor()); + } + return this; + } + /** * Processors to run immediately after a processor failure. *

@@ -318,6 +333,22 @@ public final Builder processors(Processor value, Processor... values) { return this; } + /** + * Processors used to perform transformations on documents before indexing. + * Processors run sequentially in the order specified. + *

+ * API name: {@code processors} + *

+ * Adds one or more values to processors. + */ + public final Builder processors(ProcessorVariant value, ProcessorVariant... values) { + this.processors = _listAdd(this.processors, value._toProcessor()); + for (ProcessorVariant v : values) { + _listAdd(this.processors, v._toProcessor()); + } + return this; + } + /** * Processors used to perform transformations on documents before indexing. * Processors run sequentially in the order specified. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBase.java index 1a211cdcb..d9010738f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/ProcessorBase.java @@ -259,6 +259,21 @@ public final BuilderT onFailure(Processor value, Processor... values) { return self(); } + /** + * Handle failures for the processor. + *

+ * API name: {@code on_failure} + *

+ * Adds one or more values to onFailure. + */ + public final BuilderT onFailure(ProcessorVariant value, ProcessorVariant... values) { + this.onFailure = _listAdd(this.onFailure, value._toProcessor()); + for (ProcessorVariant v : values) { + _listAdd(this.onFailure, v._toProcessor()); + } + return self(); + } + /** * Handle failures for the processor. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java index 439bd5f2e..3174dd018 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ingest/PutPipelineRequest.java @@ -447,6 +447,26 @@ public final Builder onFailure(Processor value, Processor... values) { return this; } + /** + * Processors to run immediately after a processor failure. Each processor + * supports a processor-level on_failure value. If a processor + * without an on_failure value fails, Elasticsearch uses this + * pipeline-level parameter as a fallback. The processors in this parameter run + * sequentially in the order specified. Elasticsearch will not attempt to run + * the pipeline's remaining processors. + *

+ * API name: {@code on_failure} + *

+ * Adds one or more values to onFailure. + */ + public final Builder onFailure(ProcessorVariant value, ProcessorVariant... values) { + this.onFailure = _listAdd(this.onFailure, value._toProcessor()); + for (ProcessorVariant v : values) { + _listAdd(this.onFailure, v._toProcessor()); + } + return this; + } + /** * Processors to run immediately after a processor failure. Each processor * supports a processor-level on_failure value. If a processor @@ -489,6 +509,22 @@ public final Builder processors(Processor value, Processor... values) { return this; } + /** + * Processors used to perform transformations on documents before indexing. + * Processors run sequentially in the order specified. + *

+ * API name: {@code processors} + *

+ * Adds one or more values to processors. + */ + public final Builder processors(ProcessorVariant value, ProcessorVariant... values) { + this.processors = _listAdd(this.processors, value._toProcessor()); + for (ProcessorVariant v : values) { + _listAdd(this.processors, v._toProcessor()); + } + return this; + } + /** * Processors used to perform transformations on documents before indexing. * Processors run sequentially in the order specified. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/Datafeed.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/Datafeed.java index 62244a9f1..18a02acf7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/Datafeed.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/Datafeed.java @@ -23,8 +23,10 @@ import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -447,6 +449,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -589,6 +601,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * API name: {@code query_delay} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedConfig.java index 1e3b8d4d2..a5d572748 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DatafeedConfig.java @@ -23,8 +23,10 @@ import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -493,6 +495,19 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * If set, the datafeed performs aggregation searches. Support for aggregations + * is limited and should be used only with low cardinality data. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * If set, the datafeed performs aggregation searches. Support for aggregations * is limited and should be used only with low cardinality data. @@ -706,6 +721,19 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * The Elasticsearch query domain-specific language (DSL). This value + * corresponds to the query object in an Elasticsearch search POST body. All the + * options that are supported by Elasticsearch can be used, as this object is + * passed verbatim to Elasticsearch. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * The number of seconds behind real time that data is queried. For example, if * data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBase.java index 2c2f17c5c..862c2cc09 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalysisBase.java @@ -710,6 +710,30 @@ public final BuilderT featureProcessors(DataframeAnalysisFeatureProcessor value, return self(); } + /** + * Advanced configuration option. A collection of feature preprocessors that + * modify one or more included fields. The analysis uses the resulting one or + * more features instead of the original document field. However, these features + * are ephemeral; they are not stored in the destination index. Multiple + * feature_processors entries can refer to the same document + * fields. Automatic categorical feature encoding still occurs for the fields + * that are unprocessed by a custom processor or that have categorical values. + * Use this property only if you want to override the automatic feature encoding + * of the specified fields. + *

+ * API name: {@code feature_processors} + *

+ * Adds one or more values to featureProcessors. + */ + public final BuilderT featureProcessors(DataframeAnalysisFeatureProcessorVariant value, + DataframeAnalysisFeatureProcessorVariant... values) { + this.featureProcessors = _listAdd(this.featureProcessors, value._toDataframeAnalysisFeatureProcessor()); + for (DataframeAnalysisFeatureProcessorVariant v : values) { + _listAdd(this.featureProcessors, v._toDataframeAnalysisFeatureProcessor()); + } + return self(); + } + /** * Advanced configuration option. A collection of feature preprocessors that * modify one or more included fields. The analysis uses the resulting one or diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalytics.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalytics.java index ff11a25a5..476c7e20f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalytics.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalytics.java @@ -282,6 +282,16 @@ public final Builder analysisStats( return this.analysisStats(fn.apply(new DataframeAnalyticsStats.Builder()).build()); } + /** + * An object containing information about the analysis job. + *

+ * API name: {@code analysis_stats} + */ + public final Builder analysisStats(DataframeAnalyticsStatsVariant value) { + this.analysisStats = value._toDataframeAnalyticsStats(); + return this; + } + /** * For running jobs only, contains messages relating to the selection of a node * to run the job. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSource.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSource.java index b35e1696d..9c3574634 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSource.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSource.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -264,6 +265,20 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * The Elasticsearch query domain-specific language (DSL). This value + * corresponds to the query object in an Elasticsearch search POST body. All the + * options that are supported by Elasticsearch can be used, as this object is + * passed verbatim to Elasticsearch. By default, this property has the following + * value: {"match_all": {}}. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Definitions of runtime fields that will become part of the mapping of the * destination index. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSummary.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSummary.java index 4eef78808..99cfa324c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSummary.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/DataframeAnalyticsSummary.java @@ -375,6 +375,14 @@ public final Builder analysis(Function CompletableFuture> p return previewDatafeed(fn.apply(new PreviewDatafeedRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #previewDatafeed(PreviewDatafeedRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> previewDatafeed(PreviewDatafeedRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) PreviewDatafeedRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #previewDatafeed(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> previewDatafeed( + Function> fn) { + return previewDatafeed(fn.apply(new PreviewDatafeedRequest.Builder()).build(), Void.class); + } + /** * Preview a datafeed. This API returns the first "page" of search * results from a datafeed. You can preview an existing datafeed or provide diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java index 87751a805..ffb080233 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ElasticsearchMlClient.java @@ -2127,6 +2127,29 @@ public final PreviewDatafeedResponse previewDatafeed( return previewDatafeed(fn.apply(new PreviewDatafeedRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #previewDatafeed(PreviewDatafeedRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public PreviewDatafeedResponse previewDatafeed(PreviewDatafeedRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) PreviewDatafeedRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #previewDatafeed(Function, Class)}, where Class is defined + * as Void, meaning the documents will not be deserialized. + */ + + public final PreviewDatafeedResponse previewDatafeed( + Function> fn) + throws IOException, ElasticsearchException { + return previewDatafeed(fn.apply(new PreviewDatafeedRequest.Builder()).build(), Void.class); + } + /** * Preview a datafeed. This API returns the first "page" of search * results from a datafeed. You can preview an existing datafeed or provide diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameRequest.java index e410019d9..46e3c3b14 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/EvaluateDataFrameRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -178,6 +179,16 @@ public final Builder evaluation(Function + * API name: {@code evaluation} + */ + public final Builder evaluation(DataframeEvaluationVariant value) { + this.evaluation = value._toDataframeEvaluation(); + return this; + } + /** * Required - Defines the index in which the evaluation will be * performed. @@ -208,6 +219,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * A query clause that retrieves a subset of data from the source index. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExplainDataFrameAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExplainDataFrameAnalyticsRequest.java index ff1f1a64b..23b87a4a8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExplainDataFrameAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ExplainDataFrameAnalyticsRequest.java @@ -356,6 +356,18 @@ public final Builder analysis(Function + * API name: {@code analysis} + */ + public final Builder analysis(DataframeAnalysisVariant value) { + this.analysis = value._toDataframeAnalysis(); + return this; + } + /** * Specify includes and/or excludes patterns to select which fields will be * included in the analysis. The patterns specified in excludes are applied diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java index 76ddbdb1d..b35a4ffb6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/FillMaskInferenceOptions.java @@ -263,6 +263,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelRequest.java index 76adfd83d..1af6880d3 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferTrainedModelRequest.java @@ -239,6 +239,16 @@ public final Builder inferenceConfig( return this.inferenceConfig(fn.apply(new InferenceConfigUpdate.Builder()).build()); } + /** + * The inference configuration updates to apply on the API call + *

+ * API name: {@code inference_config} + */ + public final Builder inferenceConfig(InferenceConfigUpdateVariant value) { + this.inferenceConfig = value._toInferenceConfigUpdate(); + return this; + } + /** * Required - The unique identifier of the trained model. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceOptions.java index f52e12133..828a446dd 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/NerInferenceOptions.java @@ -217,6 +217,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceOptions.java index e559a979a..6c51ebb49 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PassThroughInferenceOptions.java @@ -191,6 +191,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java index 39f72296c..106439c61 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsRequest.java @@ -463,6 +463,18 @@ public final Builder analysis(Function + * API name: {@code analysis} + */ + public final Builder analysis(DataframeAnalysisVariant value) { + this.analysis = value._toDataframeAnalysis(); + return this; + } + /** * Specifies includes and/or excludes patterns to * select which fields will be included in the analysis. The patterns specified diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java index 3d2d1ef31..244d724a4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDataFrameAnalyticsResponse.java @@ -361,6 +361,14 @@ public final Builder analysis(Functionremote_cluster_client role. + * in remote clusters, the master nodes and the machine learning nodes must have + * the remote_cluster_client role. *

* API name: {@code indices} */ @@ -600,6 +602,19 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * If set, the datafeed performs aggregation searches. Support for aggregations + * is limited and should be used only with low cardinality data. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * If set, the datafeed performs aggregation searches. Support for aggregations * is limited and should be used only with low cardinality data. @@ -800,8 +815,8 @@ public final Builder ignoreUnavailable(@Nullable Boolean value) { /** * An array of index names. Wildcards are supported. If any of the indices are - * in remote clusters, the machine learning nodes must have the - * remote_cluster_client role. + * in remote clusters, the master nodes and the machine learning nodes must have + * the remote_cluster_client role. *

* API name: {@code indices} *

@@ -814,8 +829,8 @@ public final Builder indices(List list) { /** * An array of index names. Wildcards are supported. If any of the indices are - * in remote clusters, the machine learning nodes must have the - * remote_cluster_client role. + * in remote clusters, the master nodes and the machine learning nodes must have + * the remote_cluster_client role. *

* API name: {@code indices} *

@@ -896,6 +911,19 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * The Elasticsearch query domain-specific language (DSL). This value + * corresponds to the query object in an Elasticsearch search POST body. All the + * options that are supported by Elasticsearch can be used, as this object is + * passed verbatim to Elasticsearch. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * The number of seconds behind real time that data is queried. For example, if * data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedResponse.java index e4f387f2c..5609c01e4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutDatafeedResponse.java @@ -23,8 +23,10 @@ import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -410,6 +412,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -555,6 +567,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Required - API name: {@code query_delay} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelRequest.java index 05fd389fc..c491b5ec9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/PutTrainedModelRequest.java @@ -496,6 +496,19 @@ public final Builder inferenceConfig( return this.inferenceConfig(fn.apply(new InferenceConfigCreate.Builder()).build()); } + /** + * The default configuration for inference. This can be either a regression or + * classification configuration. It must match the underlying + * definition.trained_model's target_type. For pre-packaged models such as ELSER + * the config is not required. + *

+ * API name: {@code inference_config} + */ + public final Builder inferenceConfig(InferenceConfigCreateVariant value) { + this.inferenceConfig = value._toInferenceConfigCreate(); + return this; + } + /** * The input field names for the model definition. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceOptions.java index cc9c83e5a..802d31647 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QuestionAnsweringInferenceOptions.java @@ -227,6 +227,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java index 9da7b60f6..9954ea952 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java @@ -233,6 +233,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java index c5a827d6b..6af156c02 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextEmbeddingInferenceOptions.java @@ -219,6 +219,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java index 797e8a13c..4258574f5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextExpansionInferenceOptions.java @@ -186,6 +186,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * The field that is added to incoming documents to contain the inference * prediction. Defaults to predicted_value. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java index e0a7518d4..ca2447903 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java @@ -727,6 +727,19 @@ public final BuilderT inferenceConfig( return this.inferenceConfig(fn.apply(new InferenceConfigCreate.Builder()).build()); } + /** + * The default configuration for inference. This can be either a regression, + * classification, or one of the many NLP focused configurations. It must match + * the underlying definition.trained_model's target_type. For pre-packaged + * models such as ELSER the config is not required. + *

+ * API name: {@code inference_config} + */ + public final BuilderT inferenceConfig(InferenceConfigCreateVariant value) { + this.inferenceConfig = value._toInferenceConfigCreate(); + return self(); + } + /** * Required - The input field names for the model definition. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsResponse.java index e34d017d2..2c767aa03 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDataFrameAnalyticsResponse.java @@ -336,6 +336,14 @@ public final Builder analysis(Function + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * If set, the datafeed performs aggregation searches. Support for aggregations * is limited and should be used only with low cardinality data. @@ -886,6 +901,24 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * The Elasticsearch query domain-specific language (DSL). This value + * corresponds to the query object in an Elasticsearch search POST body. All the + * options that are supported by Elasticsearch can be used, as this object is + * passed verbatim to Elasticsearch. Note that if you change the query, the + * analyzed data is also changed. Therefore, the time required to learn might be + * long and the understandability of the results is unpredictable. If you want + * to make significant changes to the source data, it is recommended that you + * clone the job and datafeed and make the amendments in the clone. Let both run + * in parallel and close one when you are satisfied with the results of the job. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * The number of seconds behind real time that data is queried. For example, if * data from 10:04 a.m. might not be searchable in Elasticsearch until 10:06 diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedResponse.java index e955b3da2..14b05310f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/UpdateDatafeedResponse.java @@ -23,8 +23,10 @@ import co.elastic.clients.elasticsearch._types.ScriptField; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -426,6 +428,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -555,6 +567,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Required - API name: {@code query_delay} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceOptions.java index 79ca36b71..5a92a0058 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/ZeroShotClassificationInferenceOptions.java @@ -271,6 +271,16 @@ public final Builder tokenization(Function + * API name: {@code tokenization} + */ + public final Builder tokenization(TokenizationConfigVariant value) { + this.tokenization = value._toTokenizationConfig(); + return this; + } + /** * Hypothesis template used when tokenizing labels for prediction *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/preview_data_frame_analytics/DataframePreviewConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/preview_data_frame_analytics/DataframePreviewConfig.java index ec3b271b2..f6285e624 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/preview_data_frame_analytics/DataframePreviewConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/preview_data_frame_analytics/DataframePreviewConfig.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch.ml.DataframeAnalysis; import co.elastic.clients.elasticsearch.ml.DataframeAnalysisAnalyzedFields; +import co.elastic.clients.elasticsearch.ml.DataframeAnalysisVariant; import co.elastic.clients.elasticsearch.ml.DataframeAnalyticsSource; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -224,6 +225,14 @@ public final Builder analysis(Function + * API name: {@code preprocessors} + *

+ * Adds one or more values to preprocessors. + */ + public final Builder preprocessors(PreprocessorVariant value, PreprocessorVariant... values) { + this.preprocessors = _listAdd(this.preprocessors, value._toPreprocessor()); + for (PreprocessorVariant v : values) { + _listAdd(this.preprocessors, v._toPreprocessor()); + } + return this; + } + /** * Collection of preprocessors *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java index 768360106..8b9d797e1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/monitoring/BulkRequest.java @@ -23,6 +23,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch.core.bulk.BulkOperation; +import co.elastic.clients.elasticsearch.core.bulk.BulkOperationVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -250,6 +251,19 @@ public final Builder operations(BulkOperation value, BulkOperation... values) { return this; } + /** + * Required - Request body. + *

+ * Adds one or more values to operations. + */ + public final Builder operations(BulkOperationVariant value, BulkOperationVariant... values) { + this.operations = _listAdd(this.operations, value._toBulkOperation()); + for (BulkOperationVariant v : values) { + _listAdd(this.operations, v._toBulkOperation()); + } + return this; + } + /** * Required - Request body. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java index f564b55ba..90405d9d8 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupAsyncClient.java @@ -301,6 +301,27 @@ public final CompletableFuture> roll return rollupSearch(fn.apply(new RollupSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #rollupSearch(RollupSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> rollupSearch(RollupSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) RollupSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #rollupSearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> rollupSearch( + Function> fn) { + return rollupSearch(fn.apply(new RollupSearchRequest.Builder()).build(), Void.class); + } + /** * Enables searching rolled-up data using the standard Query DSL. * diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java index f8b4584cc..c6f6170db 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/ElasticsearchRollupClient.java @@ -305,6 +305,29 @@ public final RollupSearchResponse rollupSearch( return rollupSearch(fn.apply(new RollupSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #rollupSearch(RollupSearchRequest, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public RollupSearchResponse rollupSearch(RollupSearchRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) RollupSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #rollupSearch(Function, Class)}, where Class is defined as + * Void, meaning the documents will not be deserialized. + */ + + public final RollupSearchResponse rollupSearch( + Function> fn) + throws IOException, ElasticsearchException { + return rollupSearch(fn.apply(new RollupSearchRequest.Builder()).build(), Void.class); + } + /** * Enables searching rolled-up data using the standard Query DSL. * diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java index 0eab9af1c..7ec204ae9 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/rollup/RollupSearchRequest.java @@ -22,7 +22,9 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -212,6 +214,18 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * Specifies aggregations. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * Specifies aggregations. *

@@ -266,6 +280,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Specifies a DSL query. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Must be zero if set, as rollups work on pre-aggregated data. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java index 26fb3a549..0d71832b4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationAsyncClient.java @@ -375,6 +375,27 @@ public final CompletableFuture> search(SearchApplicationSearchRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchApplicationSearchRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final CompletableFuture> search( + Function> fn) { + return search(fn.apply(new SearchApplicationSearchRequest.Builder()).build(), Void.class); + } + /** * Run a search application search. Generate and run an Elasticsearch query that * uses the specified query parameteter and the search template associated with diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java index 9f2713b8e..a38dffe11 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/search_application/ElasticsearchSearchApplicationClient.java @@ -385,6 +385,29 @@ public final SearchApplicationSearchResponse search( return search(fn.apply(new SearchApplicationSearchRequest.Builder()).build(), tDocumentClass); } + /** + * Overload of {@link #search(SearchApplicationSearchRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public SearchApplicationSearchResponse search(SearchApplicationSearchRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) SearchApplicationSearchRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #search(Function, Class)}, where Class is defined as Void, + * meaning the documents will not be deserialized. + */ + + public final SearchApplicationSearchResponse search( + Function> fn) + throws IOException, ElasticsearchException { + return search(fn.apply(new SearchApplicationSearchRequest.Builder()).build(), Void.class); + } + /** * Run a search application search. Generate and run an Elasticsearch query that * uses the specified query parameteter and the search template associated with diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKey.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKey.java index ea72fd852..c67ca23df 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKey.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/ApiKey.java @@ -35,7 +35,6 @@ import java.lang.Boolean; import java.lang.Long; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -720,15 +719,13 @@ public final Builder sort(FieldValue value, FieldValue... values) { *

* API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(String value, String... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } @@ -738,15 +735,13 @@ public final Builder sort(String value, String... values) { *

* API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(long value, long... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } @@ -756,15 +751,13 @@ public final Builder sort(long value, long... values) { *

* API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(double value, double... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } @@ -774,15 +767,13 @@ public final Builder sort(double value, double... values) { *

* API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(boolean value, boolean... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java index 01324a6f2..3067e0e1f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/IndicesPrivileges.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.security; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -323,6 +324,20 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * A search query that defines the documents the owners of the role have access + * to. A document within the specified indices must match this query for it to + * be accessible by the owners of the role. Use a custom query of type + * ("template", RoleTemplateScript) for + * templated queries + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Set to true if using wildcard or regular expressions for * patterns that cover restricted indices. Implicitly, restricted indices have diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java index 2d7e02733..56323d10e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/PutRoleMappingRequest.java @@ -395,6 +395,14 @@ public final Builder rules(Function diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java index 16a977bfe..31e450443 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryApiKeysRequest.java @@ -24,7 +24,9 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch.security.query_api_keys.ApiKeyAggregation; +import co.elastic.clients.elasticsearch.security.query_api_keys.ApiKeyAggregationVariant; import co.elastic.clients.elasticsearch.security.query_api_keys.ApiKeyQuery; +import co.elastic.clients.elasticsearch.security.query_api_keys.ApiKeyQueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -39,7 +41,6 @@ import java.lang.Boolean; import java.lang.Integer; import java.lang.String; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -350,6 +351,25 @@ public final Builder aggregations(String key, ApiKeyAggregation value) { return this; } + /** + * Any aggregations to run over the corpus of returned API keys. Aggregations + * and queries work together. Aggregations are computed only on the API keys + * that match the query. This supports only a subset of aggregation types, + * namely: terms, range, date_range, + * missing, cardinality, value_count, + * composite, filter, and filters. + * Additionally, aggregations only run over the same subset of fields that query + * works with. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, ApiKeyAggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toApiKeyAggregation()); + return this; + } + /** * Any aggregations to run over the corpus of returned API keys. Aggregations * and queries work together. Aggregations are computed only on the API keys @@ -420,6 +440,26 @@ public final Builder query(Functionmatch_all query. The query + * supports a subset of query types, including match_all, + * bool, term, terms, match, + * ids, prefix, wildcard, + * exists, range, and + * simple_query_string. You can query the following public + * information associated with an API key: id, type, + * name, creation, expiration, + * invalidated, invalidation, username, + * realm, and metadata. + *

+ * API name: {@code query} + */ + public final Builder query(ApiKeyQueryVariant value) { + this.query = value._toApiKeyQuery(); + return this; + } + /** * Search after definition *

@@ -449,15 +489,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -466,15 +504,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -483,15 +519,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -500,15 +534,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java index 218f16b9f..f3841fce1 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryRoleRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch.security.query_role.RoleQuery; +import co.elastic.clients.elasticsearch.security.query_role.RoleQueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -36,7 +37,7 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; -import java.util.ArrayList; +import java.lang.String; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -284,6 +285,25 @@ public final Builder query(Function> return this.query(fn.apply(new RoleQuery.Builder()).build()); } + /** + * A query to filter which roles to return. If the query parameter is missing, + * it is equivalent to a match_all query. The query supports a + * subset of query types, including match_all, bool, + * term, terms, match, ids, + * prefix, wildcard, exists, + * range, and simple_query_string. You can query the + * following information associated with roles: name, + * description, metadata, + * applications.application, applications.privileges, + * applications.resources. + *

+ * API name: {@code query} + */ + public final Builder query(RoleQueryVariant value) { + this.query = value._toRoleQuery(); + return this; + } + /** * Search after definition *

@@ -313,15 +333,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -330,15 +348,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -347,15 +363,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -364,15 +378,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java index beb95376c..59db99a78 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/QueryUserRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch.security.query_user.UserQuery; +import co.elastic.clients.elasticsearch.security.query_user.UserQueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -37,7 +38,7 @@ import jakarta.json.stream.JsonGenerator; import java.lang.Boolean; import java.lang.Integer; -import java.util.ArrayList; +import java.lang.String; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -299,6 +300,23 @@ public final Builder query(Function> return this.query(fn.apply(new UserQuery.Builder()).build()); } + /** + * A query to filter which users to return. If the query parameter is missing, + * it is equivalent to a match_all query. The query supports a + * subset of query types, including match_all, bool, + * term, terms, match, ids, + * prefix, wildcard, exists, + * range, and simple_query_string. You can query the + * following information associated with user: username, + * roles, enabled + *

+ * API name: {@code query} + */ + public final Builder query(UserQueryVariant value) { + this.query = value._toUserQuery(); + return this; + } + /** * Search after definition *

@@ -328,15 +346,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -345,15 +361,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -362,15 +376,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -379,15 +391,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleMapping.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleMapping.java index 8365f114d..a9639fbf5 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleMapping.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/RoleMapping.java @@ -290,6 +290,14 @@ public final Builder rules(Function + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, ApiKeyAggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toApiKeyAggregation()); + return this; + } + /** * Sub-aggregations for this aggregation. Only applies to bucket aggregations. *

@@ -615,6 +627,18 @@ public final ContainerBuilder aggregations(String key, ApiKeyAggregation value) return this; } + /** + * Sub-aggregations for this aggregation. Only applies to bucket aggregations. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final ContainerBuilder aggregations(String key, ApiKeyAggregationVariant value) { + Builder.this.aggregations = _mapPut(Builder.this.aggregations, key, value._toApiKeyAggregation()); + return this; + } + /** * Sub-aggregations for this aggregation. Only applies to bucket aggregations. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_role/QueryRole.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_role/QueryRole.java index 99e9cba54..bde9226f6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_role/QueryRole.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_role/QueryRole.java @@ -30,7 +30,6 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.String; -import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -148,60 +147,52 @@ public final Builder sort(FieldValue value, FieldValue... values) { /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(String value, String... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(long value, long... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(double value, double... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(boolean value, boolean... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_user/QueryUser.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_user/QueryUser.java index 7b246fd61..1ad22fdf4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_user/QueryUser.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/security/query_user/QueryUser.java @@ -29,7 +29,7 @@ import co.elastic.clients.util.ApiTypeHelper; import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; -import java.util.ArrayList; +import java.lang.String; import java.util.List; import java.util.Objects; import java.util.function.Function; @@ -131,60 +131,52 @@ public final Builder sort(FieldValue value, FieldValue... values) { /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(String value, String... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(long value, long... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(double value, double... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } /** * API name: {@code _sort} *

- * Adds all passed values to sort. + * Adds one or more values to sort. */ public final Builder sort(boolean value, boolean... values) { this.sort = _listAdd(this.sort, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.sort, FieldValue.of(v)); } - this.sort = _listAddAll(this.sort, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java index 4d763e6bc..9f53c6d00 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/QueryRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.sql.query.SqlFormat; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; @@ -567,6 +568,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Elasticsearch query DSL for additional filtering. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Format for the response. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java index d74e46440..3df3562ba 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -212,6 +213,16 @@ public final Builder filter(Function> fn) { return this.filter(fn.apply(new Query.Builder()).build()); } + /** + * Elasticsearch query DSL for additional filtering. + *

+ * API name: {@code filter} + */ + public final Builder filter(QueryVariant value) { + this.filter = value._toQuery(); + return this; + } + /** * Required - SQL query to run. *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateResponse.java index 198e39b30..28537a69a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/sql/TranslateResponse.java @@ -21,8 +21,10 @@ import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.elasticsearch._types.query_dsl.FieldAndFormat; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.elasticsearch.core.search.SourceConfig; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -254,6 +256,16 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * API name: {@code aggregations} *

@@ -330,6 +342,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * API name: {@code sort} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformAsyncClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformAsyncClient.java index f64537fc8..737011980 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformAsyncClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformAsyncClient.java @@ -231,6 +231,27 @@ public final CompletableFuture return previewTransform(fn.apply(new PreviewTransformRequest.Builder()).build(), tTransformClass); } + /** + * Overload of {@link #previewTransform(PreviewTransformRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public CompletableFuture> previewTransform(PreviewTransformRequest request) { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) PreviewTransformRequest._ENDPOINT; + return this.transport.performRequestAsync(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #previewTransform(Function, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public final CompletableFuture> previewTransform( + Function> fn) { + return previewTransform(fn.apply(new PreviewTransformRequest.Builder()).build(), Void.class); + } + /** * Preview a transform. Generates a preview of the results that you will get * when you create a transform with the same configuration. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformClient.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformClient.java index f870e782b..03b63b955 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformClient.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/ElasticsearchTransformClient.java @@ -234,6 +234,29 @@ public final PreviewTransformResponse previewTransform( return previewTransform(fn.apply(new PreviewTransformRequest.Builder()).build(), tTransformClass); } + /** + * Overload of {@link #previewTransform(PreviewTransformRequest, Class)}, where + * Class is defined as Void, meaning the documents will not be deserialized. + */ + + public PreviewTransformResponse previewTransform(PreviewTransformRequest request) + throws IOException, ElasticsearchException { + @SuppressWarnings("unchecked") + JsonEndpoint, ErrorResponse> endpoint = (JsonEndpoint, ErrorResponse>) PreviewTransformRequest._ENDPOINT; + return this.transport.performRequest(request, endpoint, this.transportOptions); + } + + /** + * Overload of {@link #previewTransform(Function, Class)}, where Class is + * defined as Void, meaning the documents will not be deserialized. + */ + + public final PreviewTransformResponse previewTransform( + Function> fn) + throws IOException, ElasticsearchException { + return previewTransform(fn.apply(new PreviewTransformRequest.Builder()).build(), Void.class); + } + /** * Preview a transform. Generates a preview of the results that you will get * when you create a transform with the same configuration. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Pivot.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Pivot.java index 98dbc2fbb..0c6612b0a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Pivot.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Pivot.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.transform; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; +import co.elastic.clients.elasticsearch._types.aggregations.AggregationVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -188,6 +189,22 @@ public final Builder aggregations(String key, Aggregation value) { return this; } + /** + * Defines how to aggregate the grouped data. The following aggregations are + * currently supported: average, bucket script, bucket selector, cardinality, + * filter, geo bounds, geo centroid, geo line, max, median absolute deviation, + * min, missing, percentiles, rare terms, scripted metric, stats, sum, terms, + * top metrics, value count, weighted average. + *

+ * API name: {@code aggregations} + *

+ * Adds an entry to aggregations. + */ + public final Builder aggregations(String key, AggregationVariant value) { + this.aggregations = _mapPut(this.aggregations, key, value._toAggregation()); + return this; + } + /** * Defines how to aggregate the grouped data. The following aggregations are * currently supported: average, bucket script, bucket selector, cardinality, @@ -231,6 +248,20 @@ public final Builder groupBy(String key, PivotGroupBy value) { return this; } + /** + * Defines how to group the data. More than one grouping can be defined per + * pivot. The following groupings are currently supported: date histogram, + * geotile grid, histogram, terms. + *

+ * API name: {@code group_by} + *

+ * Adds an entry to groupBy. + */ + public final Builder groupBy(String key, PivotGroupByVariant value) { + this.groupBy = _mapPut(this.groupBy, key, value._toPivotGroupBy()); + return this; + } + /** * Defines how to group the data. More than one grouping can be defined per * pivot. The following groupings are currently supported: date histogram, diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformRequest.java index a8d705f41..9bf22919f 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PreviewTransformRequest.java @@ -462,6 +462,17 @@ public final Builder retentionPolicy(Function + * API name: {@code retention_policy} + */ + public final Builder retentionPolicy(RetentionPolicyVariant value) { + this.retentionPolicy = value._toRetentionPolicy(); + return this; + } + /** * Defines optional transform settings. *

@@ -519,6 +530,16 @@ public final Builder sync(Function> fn) { return this.sync(fn.apply(new Sync.Builder()).build()); } + /** + * Defines the properties transforms require to run continuously. + *

+ * API name: {@code sync} + */ + public final Builder sync(SyncVariant value) { + this.sync = value._toSync(); + return this; + } + /** * Period to wait for a response. If no response is received before the timeout * expires, the request fails and returns an error. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformRequest.java index c71835538..9473cd247 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/PutTransformRequest.java @@ -564,6 +564,17 @@ public final Builder retentionPolicy(Function + * API name: {@code retention_policy} + */ + public final Builder retentionPolicy(RetentionPolicyVariant value) { + this.retentionPolicy = value._toRetentionPolicy(); + return this; + } + /** * Defines optional transform settings. *

@@ -621,6 +632,16 @@ public final Builder sync(Function> fn) { return this.sync(fn.apply(new Sync.Builder()).build()); } + /** + * Defines the properties transforms require to run continuously. + *

+ * API name: {@code sync} + */ + public final Builder sync(SyncVariant value) { + this.sync = value._toSync(); + return this; + } + /** * Period to wait for a response. If no response is received before the timeout * expires, the request fails and returns an error. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Source.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Source.java index 77861d74c..c53a08135 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Source.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/Source.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.mapping.RuntimeField; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -244,6 +245,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * A query clause that retrieves a subset of data from the source index. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Definitions of search-time runtime fields that can be used by the transform. * For search runtime fields all data nodes, including remote nodes, must be diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformRequest.java index 811ac2d6b..f661a8f37 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformRequest.java @@ -455,6 +455,17 @@ public final Builder retentionPolicy(Function + * API name: {@code retention_policy} + */ + public final Builder retentionPolicy(RetentionPolicyVariant value) { + this.retentionPolicy = value._toRetentionPolicy(); + return this; + } + /** * Defines optional transform settings. *

@@ -512,6 +523,16 @@ public final Builder sync(Function> fn) { return this.sync(fn.apply(new Sync.Builder()).build()); } + /** + * Defines the properties transforms require to run continuously. + *

+ * API name: {@code sync} + */ + public final Builder sync(SyncVariant value) { + this.sync = value._toSync(); + return this; + } + /** * Period to wait for a response. If no response is received before the timeout * expires, the request fails and returns an error. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformResponse.java index a9f23e097..4275201f6 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/UpdateTransformResponse.java @@ -470,6 +470,14 @@ public final Builder retentionPolicy(Function> fn) { return this.sync(fn.apply(new Sync.Builder()).build()); } + /** + * API name: {@code sync} + */ + public final Builder sync(SyncVariant value) { + this.sync = value._toSync(); + return this; + } + /** * Required - API name: {@code version} */ diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform/TransformSummary.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform/TransformSummary.java index 305d07e5b..f49b22524 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform/TransformSummary.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/transform/get_transform/TransformSummary.java @@ -25,9 +25,11 @@ import co.elastic.clients.elasticsearch.transform.Latest; import co.elastic.clients.elasticsearch.transform.Pivot; import co.elastic.clients.elasticsearch.transform.RetentionPolicy; +import co.elastic.clients.elasticsearch.transform.RetentionPolicyVariant; import co.elastic.clients.elasticsearch.transform.Settings; import co.elastic.clients.elasticsearch.transform.Source; import co.elastic.clients.elasticsearch.transform.Sync; +import co.elastic.clients.elasticsearch.transform.SyncVariant; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -534,6 +536,14 @@ public final Builder retentionPolicy(Function @@ -591,6 +601,16 @@ public final Builder sync(Function> fn) { return this.sync(fn.apply(new Sync.Builder()).build()); } + /** + * Defines the properties transforms require to run continuously. + *

+ * API name: {@code sync} + */ + public final Builder sync(SyncVariant value) { + this.sync = value._toSync(); + return this; + } + /** * The version of Elasticsearch that existed on the node when the transform was * created. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Action.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Action.java index 4ec1a83f0..a53904a4a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Action.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/Action.java @@ -21,6 +21,7 @@ import co.elastic.clients.elasticsearch._types.Time; import co.elastic.clients.elasticsearch._types.Transform; +import co.elastic.clients.elasticsearch._types.TransformVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -401,6 +402,14 @@ public final Builder condition(Function + * Adds an entry to attachments. + */ + public final BuilderT attachments(String key, EmailAttachmentVariant value) { + this.attachments = _mapPut(this.attachments, key, value._toEmailAttachment()); + return self(); + } + /** * API name: {@code attachments} *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/PutWatchRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/PutWatchRequest.java index ad1add11e..904a77106 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/PutWatchRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/PutWatchRequest.java @@ -22,6 +22,7 @@ import co.elastic.clients.elasticsearch._types.ErrorResponse; import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.Transform; +import co.elastic.clients.elasticsearch._types.TransformVariant; import co.elastic.clients.json.JsonData; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -386,6 +387,14 @@ public final Builder condition(Function @@ -433,6 +442,14 @@ public final Builder input(Function> fn) { return this.input(fn.apply(new Input.Builder()).build()); } + /** + * API name: {@code input} + */ + public final Builder input(InputVariant value) { + this.input = value._toInput(); + return this; + } + /** * API name: {@code metadata} *

@@ -476,6 +493,14 @@ public final Builder transform(Function> f return this.trigger(fn.apply(new Trigger.Builder()).build()); } + /** + * API name: {@code trigger} + */ + public final Builder trigger(TriggerVariant value) { + this.trigger = value._toTrigger(); + return this; + } + /** * Explicit version number for concurrency control *

diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/QueryWatchesRequest.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/QueryWatchesRequest.java index f9f2a8da9..ef37fd7fa 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/QueryWatchesRequest.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/QueryWatchesRequest.java @@ -24,6 +24,7 @@ import co.elastic.clients.elasticsearch._types.RequestBase; import co.elastic.clients.elasticsearch._types.SortOptions; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -36,7 +37,7 @@ import co.elastic.clients.util.ObjectBuilder; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; -import java.util.ArrayList; +import java.lang.String; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -247,6 +248,16 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Optional, query filter watches to be returned. + *

+ * API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + /** * Optional search After to do pagination using last hit’s sort values. *

@@ -276,15 +287,13 @@ public final Builder searchAfter(FieldValue value, FieldValue... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(String value, String... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (String v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -293,15 +302,13 @@ public final Builder searchAfter(String value, String... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(long value, long... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (long v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -310,15 +317,13 @@ public final Builder searchAfter(long value, long... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(double value, double... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (double v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } @@ -327,15 +332,13 @@ public final Builder searchAfter(double value, double... values) { *

* API name: {@code search_after} *

- * Adds all passed values to searchAfter. + * Adds one or more values to searchAfter. */ public final Builder searchAfter(boolean value, boolean... values) { this.searchAfter = _listAdd(this.searchAfter, FieldValue.of(value)); - List fieldValues = new ArrayList<>(); for (boolean v : values) { - fieldValues.add(FieldValue.of(v)); + _listAdd(this.searchAfter, FieldValue.of(v)); } - this.searchAfter = _listAddAll(this.searchAfter, fieldValues); return this; } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/SearchInputRequestBody.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/SearchInputRequestBody.java index 53403008d..876760d08 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/SearchInputRequestBody.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/SearchInputRequestBody.java @@ -20,6 +20,7 @@ package co.elastic.clients.elasticsearch.watcher; import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; @@ -128,6 +129,14 @@ public final Builder query(Function> fn) { return this.query(fn.apply(new Query.Builder()).build()); } + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/TriggerEventResult.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/TriggerEventResult.java index edfc141b1..71580f435 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/TriggerEventResult.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/TriggerEventResult.java @@ -158,6 +158,14 @@ public final Builder manual(Function> fn) { return this.input(fn.apply(new Input.Builder()).build()); } + /** + * Required - API name: {@code input} + */ + public final Builder input(InputVariant value) { + this.input = value._toInput(); + return this; + } + /** * API name: {@code metadata} *

@@ -404,6 +421,14 @@ public final Builder transform(Function> f return this.trigger(fn.apply(new Trigger.Builder()).build()); } + /** + * Required - API name: {@code trigger} + */ + public final Builder trigger(TriggerVariant value) { + this.trigger = value._toTrigger(); + return this; + } + @Override protected Builder self() { return this; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/execute_watch/WatchRecord.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/execute_watch/WatchRecord.java index d3be794f5..2fadfc766 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/execute_watch/WatchRecord.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/watcher/execute_watch/WatchRecord.java @@ -20,9 +20,11 @@ package co.elastic.clients.elasticsearch.watcher.execute_watch; import co.elastic.clients.elasticsearch.watcher.Condition; +import co.elastic.clients.elasticsearch.watcher.ConditionVariant; import co.elastic.clients.elasticsearch.watcher.ExecutionResult; import co.elastic.clients.elasticsearch.watcher.ExecutionStatus; import co.elastic.clients.elasticsearch.watcher.Input; +import co.elastic.clients.elasticsearch.watcher.InputVariant; import co.elastic.clients.elasticsearch.watcher.TriggerEventResult; import co.elastic.clients.elasticsearch.watcher.WatchStatus; import co.elastic.clients.json.JsonData; @@ -306,6 +308,14 @@ public final Builder condition(Function> fn) { return this.input(fn.apply(new Input.Builder()).build()); } + /** + * Required - API name: {@code input} + */ + public final Builder input(InputVariant value) { + this.input = value._toInput(); + return this; + } + /** * Required - API name: {@code messages} *

diff --git a/java-client/src/test/java/co/elastic/clients/elasticsearch/model/BehaviorsTest.java b/java-client/src/test/java/co/elastic/clients/elasticsearch/model/BehaviorsTest.java index a67dd7df6..e3b993a38 100644 --- a/java-client/src/test/java/co/elastic/clients/elasticsearch/model/BehaviorsTest.java +++ b/java-client/src/test/java/co/elastic/clients/elasticsearch/model/BehaviorsTest.java @@ -40,8 +40,11 @@ import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.testkit.ModelTestCase; import co.elastic.clients.util.MapBuilder; +import jakarta.json.stream.JsonParsingException; import org.junit.jupiter.api.Test; +import static co.elastic.clients.elasticsearch._types.query_dsl.Query.Kind.MatchAll; + public class BehaviorsTest extends ModelTestCase { /** @@ -249,46 +252,87 @@ public void testObjectShortcutProperty() { assertEquals("foo", req.query().term().field()); assertEquals("bar", req.query().term().value().stringValue()); } - + @Test public void testFunctionScoreQuery() { - String shortcut = - "{" + - " \"gauss\": {" + - " \"date\": {" + - " \"origin\": \"2013-09-17\", " + - " \"scale\": \"10d\"," + - " \"offset\": \"5d\", " + - " \"decay\": 0.5" + - " }," + - " \"multi_value_mode\": \"avg\"" + - " }" + + + String queryOnly = "{" + + " \"query\": {\n" + + " \"match_all\": {}\n" + + " }\n" + "}"; String full = "{" + - " \"functions\": [" + - " {" + - " \"gauss\": {" + - " \"date\": {" + - " \"origin\": \"2013-09-17\"," + - " \"scale\": \"10d\"," + - " \"offset\": \"5d\"," + - " \"decay\": 0.5" + - " }," + - " \"multi_value_mode\": \"avg\"" + - " }" + - " }" + - " ]" + - "}"; + " \"functions\": [" + + " {" + + " \"gauss\": {" + + " \"date\": {" + + " \"origin\": \"2013-09-17\"," + + " \"scale\": \"10d\"," + + " \"offset\": \"5d\"," + + " \"decay\": 0.5" + + " }," + + " \"multi_value_mode\": \"avg\"" + + " }" + + " }" + + " ]" + + "}"; + + String nested = + "{\n" + + " \"functions\": [\n" + + " {\n" + + " \"gauss\": {" + + " \"date\": {" + + " \"origin\": \"2013-09-17\"," + + " \"scale\": \"10d\"," + + " \"offset\": \"5d\"," + + " \"decay\": 0.5" + + " }," + + " \"multi_value_mode\": \"avg\"" + + " }\n" + + " }\n" + + " ],\n" + + " \"query\": {\n" + + " \"function_score\": {\n" + + " \"query\": {\n" + + " \"match_all\": {}\n" + + " }\n" + + " }\n" + + " }\n" + + " }"; + + + String shortcut = + "{" + + " \"gauss\": {" + + " \"date\": {" + + " \"origin\": \"2013-09-17\", " + + " \"scale\": \"10d\"," + + " \"offset\": \"5d\", " + + " \"decay\": 0.5" + + " }," + + " \"multi_value_mode\": \"avg\"" + + " }" + + "}"; FunctionScoreQuery fsq; + // should always work, this is just a function score query with just one "query" field + fsq = fromJson(queryOnly, FunctionScoreQuery.class); + assertEquals(MatchAll, fsq.query()._kind()); + + // should also work fsq = fromJson(full, FunctionScoreQuery.class); assertEquals(MultiValueMode.Avg, fsq.functions().get(0).gauss().untyped().multiValueMode()); - fsq = fromJson(shortcut, FunctionScoreQuery.class); - assertEquals(MultiValueMode.Avg, fsq.functions().get(0).gauss().untyped().multiValueMode()); + // should also work + fsq = fromJson(nested, FunctionScoreQuery.class); + assertEquals(MatchAll, fsq.query().functionScore().query()._kind()); + + // should not work, shortcut for function score query is currently not supported + assertThrows(JsonParsingException.class,() -> fromJson(shortcut, FunctionScoreQuery.class)); } @Test From 853ff4ff31a5a7cab1246c79f36537568139c0c4 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Wed, 26 Mar 2025 12:23:46 +0100 Subject: [PATCH 2/6] [codegen] update to latest spec --- .../elasticsearch/doc-files/api-spec.html | 111 +++---- .../inference/InferenceChunkingSettings.java | 25 +- .../ml/InferenceConfigCreate.java | 32 +++ .../ml/InferenceConfigCreateBuilders.java | 19 ++ .../ml/LearningToRankConfig.java | 271 ++++++++++++++++++ .../ml/QueryFeatureExtractor.java | 226 +++++++++++++++ .../TextClassificationInferenceOptions.java | 36 +++ .../elasticsearch/ml/TokenizationConfig.java | 31 ++ .../ml/TokenizationConfigBuilders.java | 19 ++ .../elasticsearch/ml/TrainedModelConfig.java | 29 ++ .../ml/XlmRobertaTokenizationConfig.java | 116 ++++++++ 11 files changed, 856 insertions(+), 59 deletions(-) create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/LearningToRankConfig.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QueryFeatureExtractor.java create mode 100644 java-client/src/main/java/co/elastic/clients/elasticsearch/ml/XlmRobertaTokenizationConfig.java diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html index becf1c4a9..fcd290f86 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/doc-files/api-spec.html @@ -1852,8 +1852,8 @@ 'ml._types.Category': 'ml/_types/Category.ts#L23-L49', 'ml._types.ChunkingConfig': 'ml/_types/Datafeed.ts#L251-L264', 'ml._types.ChunkingMode': 'ml/_types/Datafeed.ts#L245-L249', -'ml._types.ClassificationInferenceOptions': 'ml/_types/inference.ts#L93-L108', -'ml._types.CommonTokenizationConfig': 'ml/_types/inference.ts#L133-L159', +'ml._types.ClassificationInferenceOptions': 'ml/_types/inference.ts#L118-L133', +'ml._types.CommonTokenizationConfig': 'ml/_types/inference.ts#L160-L186', 'ml._types.ConditionOperator': 'ml/_types/Rule.ts#L74-L79', 'ml._types.DataCounts': 'ml/_types/Job.ts#L352-L372', 'ml._types.DataDescription': 'ml/_types/Job.ts#L374-L390', @@ -1902,8 +1902,8 @@ 'ml._types.DataframeEvaluationRegressionMetricsMsle': 'ml/_types/DataframeEvaluation.ts#L112-L115', 'ml._types.DataframeState': 'ml/_types/Dataframe.ts#L20-L26', 'ml._types.DelayedDataCheckConfig': 'ml/_types/Datafeed.ts#L122-L133', -'ml._types.DeploymentAllocationState': 'ml/_types/TrainedModel.ts#L318-L331', -'ml._types.DeploymentAssignmentState': 'ml/_types/TrainedModel.ts#L333-L350', +'ml._types.DeploymentAllocationState': 'ml/_types/TrainedModel.ts#L319-L332', +'ml._types.DeploymentAssignmentState': 'ml/_types/TrainedModel.ts#L334-L351', 'ml._types.DetectionRule': 'ml/_types/Rule.ts#L25-L39', 'ml._types.Detector': 'ml/_types/Detector.ts#L25-L67', 'ml._types.DetectorRead': 'ml/_types/Detector.ts#L69-L125', @@ -1912,18 +1912,18 @@ 'ml._types.DiscoveryNodeContent': 'ml/_types/DiscoveryNode.ts#L27-L37', 'ml._types.ExcludeFrequent': 'ml/_types/Detector.ts#L145-L150', 'ml._types.ExponentialAverageCalculationContext': 'ml/_types/Datafeed.ts#L204-L208', -'ml._types.FillMaskInferenceOptions': 'ml/_types/inference.ts#L253-L268', -'ml._types.FillMaskInferenceUpdateOptions': 'ml/_types/inference.ts#L399-L406', +'ml._types.FillMaskInferenceOptions': 'ml/_types/inference.ts#L284-L299', +'ml._types.FillMaskInferenceUpdateOptions': 'ml/_types/inference.ts#L430-L437', 'ml._types.Filter': 'ml/_types/Filter.ts#L22-L29', 'ml._types.FilterRef': 'ml/_types/Filter.ts#L31-L41', 'ml._types.FilterType': 'ml/_types/Filter.ts#L43-L46', 'ml._types.GeoResults': 'ml/_types/Anomaly.ts#L146-L155', -'ml._types.Hyperparameter': 'ml/_types/TrainedModel.ts#L261-L275', +'ml._types.Hyperparameter': 'ml/_types/TrainedModel.ts#L262-L276', 'ml._types.Hyperparameters': 'ml/_types/DataframeAnalytics.ts#L420-L526', 'ml._types.Include': 'ml/_types/Include.ts#L20-L47', -'ml._types.InferenceConfigCreateContainer': 'ml/_types/inference.ts#L23-L80', -'ml._types.InferenceConfigUpdateContainer': 'ml/_types/inference.ts#L284-L306', -'ml._types.InferenceResponseResult': 'ml/_types/inference.ts#L447-L495', +'ml._types.InferenceConfigCreateContainer': 'ml/_types/inference.ts#L26-L85', +'ml._types.InferenceConfigUpdateContainer': 'ml/_types/inference.ts#L315-L337', +'ml._types.InferenceResponseResult': 'ml/_types/inference.ts#L478-L526', 'ml._types.Influence': 'ml/_types/Anomaly.ts#L141-L144', 'ml._types.Influencer': 'ml/_types/Influencer.ts#L24-L76', 'ml._types.Job': 'ml/_types/Job.ts#L61-L180', @@ -1935,70 +1935,73 @@ 'ml._types.JobStatistics': 'ml/_types/Job.ts#L54-L59', 'ml._types.JobStats': 'ml/_types/Job.ts#L284-L330', 'ml._types.JobTimingStats': 'ml/_types/Job.ts#L332-L341', +'ml._types.LearningToRankConfig': 'ml/_types/inference.ts#L87-L91', 'ml._types.MemoryStatus': 'ml/_types/Model.ts#L89-L93', -'ml._types.ModelPackageConfig': 'ml/_types/TrainedModel.ts#L244-L259', +'ml._types.ModelPackageConfig': 'ml/_types/TrainedModel.ts#L245-L260', 'ml._types.ModelPlotConfig': 'ml/_types/ModelPlot.ts#L23-L42', 'ml._types.ModelSizeStats': 'ml/_types/Model.ts#L59-L82', 'ml._types.ModelSnapshot': 'ml/_types/Model.ts#L25-L46', 'ml._types.ModelSnapshotUpgrade': 'ml/_types/Model.ts#L48-L57', -'ml._types.NerInferenceOptions': 'ml/_types/inference.ts#L242-L251', -'ml._types.NerInferenceUpdateOptions': 'ml/_types/inference.ts#L392-L397', -'ml._types.NlpBertTokenizationConfig': 'ml/_types/inference.ts#L161-L162', -'ml._types.NlpRobertaTokenizationConfig': 'ml/_types/inference.ts#L164-L171', -'ml._types.NlpTokenizationUpdateOptions': 'ml/_types/inference.ts#L344-L349', +'ml._types.NerInferenceOptions': 'ml/_types/inference.ts#L273-L282', +'ml._types.NerInferenceUpdateOptions': 'ml/_types/inference.ts#L423-L428', +'ml._types.NlpBertTokenizationConfig': 'ml/_types/inference.ts#L188-L189', +'ml._types.NlpRobertaTokenizationConfig': 'ml/_types/inference.ts#L191-L198', +'ml._types.NlpTokenizationUpdateOptions': 'ml/_types/inference.ts#L375-L380', 'ml._types.OutlierDetectionParameters': 'ml/_types/DataframeAnalytics.ts#L528-L562', 'ml._types.OverallBucket': 'ml/_types/Bucket.ts#L129-L144', 'ml._types.OverallBucketJob': 'ml/_types/Bucket.ts#L145-L148', 'ml._types.Page': 'ml/_types/Page.ts#L22-L33', -'ml._types.PassThroughInferenceOptions': 'ml/_types/inference.ts#L208-L215', -'ml._types.PassThroughInferenceUpdateOptions': 'ml/_types/inference.ts#L373-L378', +'ml._types.PassThroughInferenceOptions': 'ml/_types/inference.ts#L239-L246', +'ml._types.PassThroughInferenceUpdateOptions': 'ml/_types/inference.ts#L404-L409', 'ml._types.PerPartitionCategorization': 'ml/_types/Analysis.ts#L150-L159', -'ml._types.QuestionAnsweringInferenceOptions': 'ml/_types/inference.ts#L270-L280', -'ml._types.QuestionAnsweringInferenceUpdateOptions': 'ml/_types/inference.ts#L408-L419', -'ml._types.RegressionInferenceOptions': 'ml/_types/inference.ts#L82-L91', -'ml._types.RoutingState': 'ml/_types/TrainedModel.ts#L395-L416', +'ml._types.QueryFeatureExtractor': 'ml/_types/inference.ts#L98-L105', +'ml._types.QuestionAnsweringInferenceOptions': 'ml/_types/inference.ts#L301-L311', +'ml._types.QuestionAnsweringInferenceUpdateOptions': 'ml/_types/inference.ts#L439-L450', +'ml._types.RegressionInferenceOptions': 'ml/_types/inference.ts#L107-L116', +'ml._types.RoutingState': 'ml/_types/TrainedModel.ts#L396-L417', 'ml._types.RuleAction': 'ml/_types/Rule.ts#L41-L50', 'ml._types.RuleCondition': 'ml/_types/Rule.ts#L52-L65', 'ml._types.RunningStateSearchInterval': 'ml/_types/Datafeed.ts#L226-L243', 'ml._types.SnapshotUpgradeState': 'ml/_types/Model.ts#L95-L100', -'ml._types.TextClassificationInferenceOptions': 'ml/_types/inference.ts#L173-L183', -'ml._types.TextClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L351-L360', -'ml._types.TextEmbeddingInferenceOptions': 'ml/_types/inference.ts#L221-L231', -'ml._types.TextEmbeddingInferenceUpdateOptions': 'ml/_types/inference.ts#L380-L384', -'ml._types.TextExpansionInferenceOptions': 'ml/_types/inference.ts#L233-L240', -'ml._types.TextExpansionInferenceUpdateOptions': 'ml/_types/inference.ts#L386-L390', +'ml._types.TextClassificationInferenceOptions': 'ml/_types/inference.ts#L202-L214', +'ml._types.TextClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L382-L391', +'ml._types.TextEmbeddingInferenceOptions': 'ml/_types/inference.ts#L252-L262', +'ml._types.TextEmbeddingInferenceUpdateOptions': 'ml/_types/inference.ts#L411-L415', +'ml._types.TextExpansionInferenceOptions': 'ml/_types/inference.ts#L264-L271', +'ml._types.TextExpansionInferenceUpdateOptions': 'ml/_types/inference.ts#L417-L421', 'ml._types.TimingStats': 'ml/_types/DataframeAnalytics.ts#L564-L569', -'ml._types.TokenizationConfigContainer': 'ml/_types/inference.ts#L110-L131', -'ml._types.TokenizationTruncate': 'ml/_types/inference.ts#L338-L342', -'ml._types.TopClassEntry': 'ml/_types/inference.ts#L428-L432', -'ml._types.TotalFeatureImportance': 'ml/_types/TrainedModel.ts#L277-L284', -'ml._types.TotalFeatureImportanceClass': 'ml/_types/TrainedModel.ts#L286-L291', -'ml._types.TotalFeatureImportanceStatistics': 'ml/_types/TrainedModel.ts#L293-L300', -'ml._types.TrainedModelAssignment': 'ml/_types/TrainedModel.ts#L447-L464', -'ml._types.TrainedModelAssignmentRoutingTable': 'ml/_types/TrainedModel.ts#L418-L436', -'ml._types.TrainedModelAssignmentTaskParameters': 'ml/_types/TrainedModel.ts#L357-L393', -'ml._types.TrainedModelConfig': 'ml/_types/TrainedModel.ts#L191-L227', -'ml._types.TrainedModelConfigInput': 'ml/_types/TrainedModel.ts#L229-L232', -'ml._types.TrainedModelConfigMetadata': 'ml/_types/TrainedModel.ts#L234-L242', -'ml._types.TrainedModelDeploymentAllocationStatus': 'ml/_types/TrainedModel.ts#L438-L445', +'ml._types.TokenizationConfigContainer': 'ml/_types/inference.ts#L135-L158', +'ml._types.TokenizationTruncate': 'ml/_types/inference.ts#L369-L373', +'ml._types.TopClassEntry': 'ml/_types/inference.ts#L459-L463', +'ml._types.TotalFeatureImportance': 'ml/_types/TrainedModel.ts#L278-L285', +'ml._types.TotalFeatureImportanceClass': 'ml/_types/TrainedModel.ts#L287-L292', +'ml._types.TotalFeatureImportanceStatistics': 'ml/_types/TrainedModel.ts#L294-L301', +'ml._types.TrainedModelAssignment': 'ml/_types/TrainedModel.ts#L448-L465', +'ml._types.TrainedModelAssignmentRoutingTable': 'ml/_types/TrainedModel.ts#L419-L437', +'ml._types.TrainedModelAssignmentTaskParameters': 'ml/_types/TrainedModel.ts#L358-L394', +'ml._types.TrainedModelConfig': 'ml/_types/TrainedModel.ts#L191-L228', +'ml._types.TrainedModelConfigInput': 'ml/_types/TrainedModel.ts#L230-L233', +'ml._types.TrainedModelConfigMetadata': 'ml/_types/TrainedModel.ts#L235-L243', +'ml._types.TrainedModelDeploymentAllocationStatus': 'ml/_types/TrainedModel.ts#L439-L446', 'ml._types.TrainedModelDeploymentNodesStats': 'ml/_types/TrainedModel.ts#L144-L189', 'ml._types.TrainedModelDeploymentStats': 'ml/_types/TrainedModel.ts#L62-L107', -'ml._types.TrainedModelEntities': 'ml/_types/inference.ts#L421-L427', -'ml._types.TrainedModelInferenceClassImportance': 'ml/_types/inference.ts#L434-L437', -'ml._types.TrainedModelInferenceFeatureImportance': 'ml/_types/inference.ts#L439-L443', +'ml._types.TrainedModelEntities': 'ml/_types/inference.ts#L452-L458', +'ml._types.TrainedModelInferenceClassImportance': 'ml/_types/inference.ts#L465-L468', +'ml._types.TrainedModelInferenceFeatureImportance': 'ml/_types/inference.ts#L470-L474', 'ml._types.TrainedModelInferenceStats': 'ml/_types/TrainedModel.ts#L115-L135', -'ml._types.TrainedModelLocation': 'ml/_types/TrainedModel.ts#L466-L468', -'ml._types.TrainedModelLocationIndex': 'ml/_types/TrainedModel.ts#L470-L472', -'ml._types.TrainedModelPrefixStrings': 'ml/_types/TrainedModel.ts#L474-L483', +'ml._types.TrainedModelLocation': 'ml/_types/TrainedModel.ts#L467-L469', +'ml._types.TrainedModelLocationIndex': 'ml/_types/TrainedModel.ts#L471-L473', +'ml._types.TrainedModelPrefixStrings': 'ml/_types/TrainedModel.ts#L475-L484', 'ml._types.TrainedModelSizeStats': 'ml/_types/TrainedModel.ts#L137-L142', 'ml._types.TrainedModelStats': 'ml/_types/TrainedModel.ts#L42-L60', -'ml._types.TrainedModelType': 'ml/_types/TrainedModel.ts#L302-L316', -'ml._types.TrainingPriority': 'ml/_types/TrainedModel.ts#L352-L355', +'ml._types.TrainedModelType': 'ml/_types/TrainedModel.ts#L303-L317', +'ml._types.TrainingPriority': 'ml/_types/TrainedModel.ts#L353-L356', 'ml._types.TransformAuthorization': 'ml/_types/Authorization.ts#L59-L71', 'ml._types.ValidationLoss': 'ml/_types/DataframeAnalytics.ts#L571-L576', -'ml._types.Vocabulary': 'ml/_types/inference.ts#L217-L219', -'ml._types.ZeroShotClassificationInferenceOptions': 'ml/_types/inference.ts#L185-L206', -'ml._types.ZeroShotClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L362-L371', +'ml._types.Vocabulary': 'ml/_types/inference.ts#L248-L250', +'ml._types.XlmRobertaTokenizationConfig': 'ml/_types/inference.ts#L200-L200', +'ml._types.ZeroShotClassificationInferenceOptions': 'ml/_types/inference.ts#L216-L237', +'ml._types.ZeroShotClassificationInferenceUpdateOptions': 'ml/_types/inference.ts#L393-L402', 'ml.clear_trained_model_deployment_cache.Request': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheRequest.ts#L23-L42', 'ml.clear_trained_model_deployment_cache.Response': 'ml/clear_trained_model_deployment_cache/MlClearTrainedModelDeploymentCacheResponse.ts#L20-L24', 'ml.close_job.Request': 'ml/close_job/MlCloseJobRequest.ts#L24-L78', @@ -2970,10 +2973,10 @@ if (hash.length > 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/a7f36c9921ee9fa15e8ab778eedcbbf04e743092/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/c00564eff0272d108c60271c404740322331a9be/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceChunkingSettings.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceChunkingSettings.java index 65488b18b..3fd383d71 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceChunkingSettings.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/inference/InferenceChunkingSettings.java @@ -22,9 +22,12 @@ import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; import co.elastic.clients.json.ObjectBuilderDeserializer; import co.elastic.clients.json.ObjectDeserializer; import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; import java.lang.Integer; import java.lang.String; @@ -57,7 +60,7 @@ * specification */ @JsonpDeserializable -public class InferenceChunkingSettings extends InferenceEndpoint { +public class InferenceChunkingSettings implements JsonpSerializable { @Nullable private final Integer maxChunkSize; @@ -73,7 +76,6 @@ public class InferenceChunkingSettings extends InferenceEndpoint { // --------------------------------------------------------------------------------------------- private InferenceChunkingSettings(Builder builder) { - super(builder); this.maxChunkSize = builder.maxChunkSize; this.overlap = builder.overlap; @@ -134,9 +136,17 @@ public final String strategy() { return this.strategy; } + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { - super.serializeInternal(generator, mapper); if (this.maxChunkSize != null) { generator.writeKey("max_chunk_size"); generator.write(this.maxChunkSize); @@ -160,13 +170,18 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { } + @Override + public String toString() { + return JsonpUtils.toString(this); + } + // --------------------------------------------------------------------------------------------- /** * Builder for {@link InferenceChunkingSettings}. */ - public static class Builder extends InferenceEndpoint.AbstractBuilder + public static class Builder extends WithJsonObjectBuilderBase implements ObjectBuilder { @Nullable @@ -257,7 +272,7 @@ public InferenceChunkingSettings build() { protected static void setupInferenceChunkingSettingsDeserializer( ObjectDeserializer op) { - InferenceEndpoint.setupInferenceEndpointDeserializer(op); + op.add(Builder::maxChunkSize, JsonpDeserializer.integerDeserializer(), "max_chunk_size"); op.add(Builder::overlap, JsonpDeserializer.integerDeserializer(), "overlap"); op.add(Builder::sentenceOverlap, JsonpDeserializer.integerDeserializer(), "sentence_overlap"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreate.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreate.java index b8215f27d..25b13a226 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreate.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreate.java @@ -84,6 +84,8 @@ public enum Kind implements JsonEnum { FillMask("fill_mask"), + LearningToRank("learning_to_rank"), + Ner("ner"), PassThrough("pass_through"), @@ -226,6 +228,24 @@ public FillMaskInferenceOptions fillMask() { return TaggedUnionUtils.get(this, Kind.FillMask); } + /** + * Is this variant instance of kind {@code learning_to_rank}? + */ + public boolean isLearningToRank() { + return _kind == Kind.LearningToRank; + } + + /** + * Get the {@code learning_to_rank} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code learning_to_rank} + * kind. + */ + public LearningToRankConfig learningToRank() { + return TaggedUnionUtils.get(this, Kind.LearningToRank); + } + /** * Is this variant instance of kind {@code ner}? */ @@ -397,6 +417,17 @@ public ObjectBuilder fillMask( return this.fillMask(fn.apply(new FillMaskInferenceOptions.Builder()).build()); } + public ObjectBuilder learningToRank(LearningToRankConfig v) { + this._kind = Kind.LearningToRank; + this._value = v; + return this; + } + + public ObjectBuilder learningToRank( + Function> fn) { + return this.learningToRank(fn.apply(new LearningToRankConfig.Builder()).build()); + } + public ObjectBuilder ner(NerInferenceOptions v) { this._kind = Kind.Ner; this._value = v; @@ -467,6 +498,7 @@ protected static void setupInferenceConfigCreateDeserializer(ObjectDeserializer< op.add(Builder::zeroShotClassification, ZeroShotClassificationInferenceOptions._DESERIALIZER, "zero_shot_classification"); op.add(Builder::fillMask, FillMaskInferenceOptions._DESERIALIZER, "fill_mask"); + op.add(Builder::learningToRank, LearningToRankConfig._DESERIALIZER, "learning_to_rank"); op.add(Builder::ner, NerInferenceOptions._DESERIALIZER, "ner"); op.add(Builder::passThrough, PassThroughInferenceOptions._DESERIALIZER, "pass_through"); op.add(Builder::textEmbedding, TextEmbeddingInferenceOptions._DESERIALIZER, "text_embedding"); diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateBuilders.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateBuilders.java index 417fc1fb9..81377b339 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateBuilders.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/InferenceConfigCreateBuilders.java @@ -141,6 +141,25 @@ public static InferenceConfigCreate fillMask( return builder.build(); } + /** + * Creates a builder for the {@link LearningToRankConfig learning_to_rank} + * {@code InferenceConfigCreate} variant. + */ + public static LearningToRankConfig.Builder learningToRank() { + return new LearningToRankConfig.Builder(); + } + + /** + * Creates a InferenceConfigCreate of the {@link LearningToRankConfig + * learning_to_rank} {@code InferenceConfigCreate} variant. + */ + public static InferenceConfigCreate learningToRank( + Function> fn) { + InferenceConfigCreate.Builder builder = new InferenceConfigCreate.Builder(); + builder.learningToRank(fn.apply(new LearningToRankConfig.Builder()).build()); + return builder.build(); + } + /** * Creates a builder for the {@link NerInferenceOptions ner} * {@code InferenceConfigCreate} variant. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/LearningToRankConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/LearningToRankConfig.java new file mode 100644 index 000000000..596b04637 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/LearningToRankConfig.java @@ -0,0 +1,271 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonData; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.LearningToRankConfig + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class LearningToRankConfig implements InferenceConfigCreateVariant, JsonpSerializable { + private final Map defaultParams; + + private final List> featureExtractors; + + private final int numTopFeatureImportanceValues; + + // --------------------------------------------------------------------------------------------- + + private LearningToRankConfig(Builder builder) { + + this.defaultParams = ApiTypeHelper.unmodifiable(builder.defaultParams); + this.featureExtractors = ApiTypeHelper.unmodifiable(builder.featureExtractors); + this.numTopFeatureImportanceValues = ApiTypeHelper.requireNonNull(builder.numTopFeatureImportanceValues, this, + "numTopFeatureImportanceValues"); + + } + + public static LearningToRankConfig of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * InferenceConfigCreate variant kind. + */ + @Override + public InferenceConfigCreate.Kind _inferenceConfigCreateKind() { + return InferenceConfigCreate.Kind.LearningToRank; + } + + /** + * API name: {@code default_params} + */ + public final Map defaultParams() { + return this.defaultParams; + } + + /** + * API name: {@code feature_extractors} + */ + public final List> featureExtractors() { + return this.featureExtractors; + } + + /** + * Required - API name: {@code num_top_feature_importance_values} + */ + public final int numTopFeatureImportanceValues() { + return this.numTopFeatureImportanceValues; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (ApiTypeHelper.isDefined(this.defaultParams)) { + generator.writeKey("default_params"); + generator.writeStartObject(); + for (Map.Entry item0 : this.defaultParams.entrySet()) { + generator.writeKey(item0.getKey()); + item0.getValue().serialize(generator, mapper); + + } + generator.writeEnd(); + + } + if (ApiTypeHelper.isDefined(this.featureExtractors)) { + generator.writeKey("feature_extractors"); + generator.writeStartArray(); + for (Map item0 : this.featureExtractors) { + generator.writeStartObject(); + if (item0 != null) { + for (Map.Entry item1 : item0.entrySet()) { + generator.writeKey(item1.getKey()); + item1.getValue().serialize(generator, mapper); + + } + } + generator.writeEnd(); + + } + generator.writeEnd(); + + } + generator.writeKey("num_top_feature_importance_values"); + generator.write(this.numTopFeatureImportanceValues); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link LearningToRankConfig}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + @Nullable + private Map defaultParams; + + @Nullable + private List> featureExtractors; + + private Integer numTopFeatureImportanceValues; + + /** + * API name: {@code default_params} + *

+ * Adds all entries of map to defaultParams. + */ + public final Builder defaultParams(Map map) { + this.defaultParams = _mapPutAll(this.defaultParams, map); + return this; + } + + /** + * API name: {@code default_params} + *

+ * Adds an entry to defaultParams. + */ + public final Builder defaultParams(String key, JsonData value) { + this.defaultParams = _mapPut(this.defaultParams, key, value); + return this; + } + + /** + * API name: {@code feature_extractors} + *

+ * Adds all elements of list to featureExtractors. + */ + public final Builder featureExtractors(List> list) { + this.featureExtractors = _listAddAll(this.featureExtractors, list); + return this; + } + + /** + * API name: {@code feature_extractors} + *

+ * Adds one or more values to featureExtractors. + */ + public final Builder featureExtractors(Map value, + Map... values) { + this.featureExtractors = _listAdd(this.featureExtractors, value, values); + return this; + } + + /** + * Required - API name: {@code num_top_feature_importance_values} + */ + public final Builder numTopFeatureImportanceValues(int value) { + this.numTopFeatureImportanceValues = value; + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link LearningToRankConfig}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public LearningToRankConfig build() { + _checkSingleUse(); + + return new LearningToRankConfig(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link LearningToRankConfig} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, LearningToRankConfig::setupLearningToRankConfigDeserializer); + + protected static void setupLearningToRankConfigDeserializer(ObjectDeserializer op) { + + op.add(Builder::defaultParams, JsonpDeserializer.stringMapDeserializer(JsonData._DESERIALIZER), + "default_params"); + op.add(Builder::featureExtractors, + JsonpDeserializer.arrayDeserializer( + JsonpDeserializer.stringMapDeserializer(QueryFeatureExtractor._DESERIALIZER)), + "feature_extractors"); + op.add(Builder::numTopFeatureImportanceValues, JsonpDeserializer.integerDeserializer(), + "num_top_feature_importance_values"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QueryFeatureExtractor.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QueryFeatureExtractor.java new file mode 100644 index 000000000..02c9d3372 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/QueryFeatureExtractor.java @@ -0,0 +1,226 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.elasticsearch._types.query_dsl.Query; +import co.elastic.clients.elasticsearch._types.query_dsl.QueryVariant; +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.JsonpMapper; +import co.elastic.clients.json.JsonpSerializable; +import co.elastic.clients.json.JsonpUtils; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ApiTypeHelper; +import co.elastic.clients.util.ObjectBuilder; +import co.elastic.clients.util.WithJsonObjectBuilderBase; +import jakarta.json.stream.JsonGenerator; +import java.lang.Float; +import java.lang.String; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nullable; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.QueryFeatureExtractor + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class QueryFeatureExtractor implements JsonpSerializable { + @Nullable + private final Float defaultScore; + + private final String featureName; + + private final Query query; + + // --------------------------------------------------------------------------------------------- + + private QueryFeatureExtractor(Builder builder) { + + this.defaultScore = builder.defaultScore; + this.featureName = ApiTypeHelper.requireNonNull(builder.featureName, this, "featureName"); + this.query = ApiTypeHelper.requireNonNull(builder.query, this, "query"); + + } + + public static QueryFeatureExtractor of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * API name: {@code default_score} + */ + @Nullable + public final Float defaultScore() { + return this.defaultScore; + } + + /** + * Required - API name: {@code feature_name} + */ + public final String featureName() { + return this.featureName; + } + + /** + * Required - API name: {@code query} + */ + public final Query query() { + return this.query; + } + + /** + * Serialize this object to JSON. + */ + public void serialize(JsonGenerator generator, JsonpMapper mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { + + if (this.defaultScore != null) { + generator.writeKey("default_score"); + generator.write(this.defaultScore); + + } + generator.writeKey("feature_name"); + generator.write(this.featureName); + + generator.writeKey("query"); + this.query.serialize(generator, mapper); + + } + + @Override + public String toString() { + return JsonpUtils.toString(this); + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link QueryFeatureExtractor}. + */ + + public static class Builder extends WithJsonObjectBuilderBase + implements + ObjectBuilder { + @Nullable + private Float defaultScore; + + private String featureName; + + private Query query; + + /** + * API name: {@code default_score} + */ + public final Builder defaultScore(@Nullable Float value) { + this.defaultScore = value; + return this; + } + + /** + * Required - API name: {@code feature_name} + */ + public final Builder featureName(String value) { + this.featureName = value; + return this; + } + + /** + * Required - API name: {@code query} + */ + public final Builder query(Query value) { + this.query = value; + return this; + } + + /** + * Required - API name: {@code query} + */ + public final Builder query(Function> fn) { + return this.query(fn.apply(new Query.Builder()).build()); + } + + /** + * Required - API name: {@code query} + */ + public final Builder query(QueryVariant value) { + this.query = value._toQuery(); + return this; + } + + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link QueryFeatureExtractor}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public QueryFeatureExtractor build() { + _checkSingleUse(); + + return new QueryFeatureExtractor(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link QueryFeatureExtractor} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, QueryFeatureExtractor::setupQueryFeatureExtractorDeserializer); + + protected static void setupQueryFeatureExtractorDeserializer(ObjectDeserializer op) { + + op.add(Builder::defaultScore, JsonpDeserializer.floatDeserializer(), "default_score"); + op.add(Builder::featureName, JsonpDeserializer.stringDeserializer(), "feature_name"); + op.add(Builder::query, Query._DESERIALIZER, "query"); + + } + +} diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java index 9954ea952..c57c0ff6a 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TextClassificationInferenceOptions.java @@ -74,6 +74,9 @@ public class TextClassificationInferenceOptions implements InferenceConfigCreate private final List classificationLabels; + @Nullable + private final Vocabulary vocabulary; + // --------------------------------------------------------------------------------------------- private TextClassificationInferenceOptions(Builder builder) { @@ -82,6 +85,7 @@ private TextClassificationInferenceOptions(Builder builder) { this.tokenization = builder.tokenization; this.resultsField = builder.resultsField; this.classificationLabels = ApiTypeHelper.unmodifiable(builder.classificationLabels); + this.vocabulary = builder.vocabulary; } @@ -139,6 +143,14 @@ public final List classificationLabels() { return this.classificationLabels; } + /** + * API name: {@code vocabulary} + */ + @Nullable + public final Vocabulary vocabulary() { + return this.vocabulary; + } + /** * Serialize this object to JSON. */ @@ -175,6 +187,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeEnd(); } + if (this.vocabulary != null) { + generator.writeKey("vocabulary"); + this.vocabulary.serialize(generator, mapper); + + } } @@ -204,6 +221,9 @@ public static class Builder extends WithJsonObjectBuilderBase @Nullable private List classificationLabels; + @Nullable + private Vocabulary vocabulary; + /** * Specifies the number of top class predictions to return. Defaults to 0. *

@@ -280,6 +300,21 @@ public final Builder classificationLabels(String value, String... values) { return this; } + /** + * API name: {@code vocabulary} + */ + public final Builder vocabulary(@Nullable Vocabulary value) { + this.vocabulary = value; + return this; + } + + /** + * API name: {@code vocabulary} + */ + public final Builder vocabulary(Function> fn) { + return this.vocabulary(fn.apply(new Vocabulary.Builder()).build()); + } + @Override protected Builder self() { return this; @@ -315,6 +350,7 @@ protected static void setupTextClassificationInferenceOptionsDeserializer( op.add(Builder::resultsField, JsonpDeserializer.stringDeserializer(), "results_field"); op.add(Builder::classificationLabels, JsonpDeserializer.arrayDeserializer(JsonpDeserializer.stringDeserializer()), "classification_labels"); + op.add(Builder::vocabulary, Vocabulary._DESERIALIZER, "vocabulary"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java index 854c0c3f0..ab89de2c2 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TokenizationConfig.java @@ -82,6 +82,8 @@ public enum Kind implements JsonEnum { Roberta("roberta"), + XlmRoberta("xlm_roberta"), + ; private final String jsonValue; @@ -195,6 +197,23 @@ public NlpRobertaTokenizationConfig roberta() { return TaggedUnionUtils.get(this, Kind.Roberta); } + /** + * Is this variant instance of kind {@code xlm_roberta}? + */ + public boolean isXlmRoberta() { + return _kind == Kind.XlmRoberta; + } + + /** + * Get the {@code xlm_roberta} variant value. + * + * @throws IllegalStateException + * if the current variant is not of the {@code xlm_roberta} kind. + */ + public XlmRobertaTokenizationConfig xlmRoberta() { + return TaggedUnionUtils.get(this, Kind.XlmRoberta); + } + @Override @SuppressWarnings("unchecked") public void serialize(JsonGenerator generator, JsonpMapper mapper) { @@ -269,6 +288,17 @@ public ObjectBuilder roberta( return this.roberta(fn.apply(new NlpRobertaTokenizationConfig.Builder()).build()); } + public ObjectBuilder xlmRoberta(XlmRobertaTokenizationConfig v) { + this._kind = Kind.XlmRoberta; + this._value = v; + return this; + } + + public ObjectBuilder xlmRoberta( + Function> fn) { + return this.xlmRoberta(fn.apply(new XlmRobertaTokenizationConfig.Builder()).build()); + } + public TokenizationConfig build() { _checkSingleUse(); return new TokenizationConfig(this); @@ -282,6 +312,7 @@ protected static void setupTokenizationConfigDeserializer(ObjectDeserializer> fn) { + TokenizationConfig.Builder builder = new TokenizationConfig.Builder(); + builder.xlmRoberta(fn.apply(new XlmRobertaTokenizationConfig.Builder()).build()); + return builder.build(); + } + } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java index ca2447903..7095c984c 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/TrainedModelConfig.java @@ -117,6 +117,9 @@ public class TrainedModelConfig implements JsonpSerializable { @Nullable private final TrainedModelLocation location; + @Nullable + private final String platformArchitecture; + @Nullable private final TrainedModelPrefixStrings prefixStrings; @@ -143,6 +146,7 @@ protected TrainedModelConfig(AbstractBuilder builder) { this.modelSizeBytes = builder.modelSizeBytes; this.modelPackage = builder.modelPackage; this.location = builder.location; + this.platformArchitecture = builder.platformArchitecture; this.prefixStrings = builder.prefixStrings; } @@ -334,6 +338,14 @@ public final TrainedModelLocation location() { return this.location; } + /** + * API name: {@code platform_architecture} + */ + @Nullable + public final String platformArchitecture() { + return this.platformArchitecture; + } + /** * API name: {@code prefix_strings} */ @@ -452,6 +464,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("location"); this.location.serialize(generator, mapper); + } + if (this.platformArchitecture != null) { + generator.writeKey("platform_architecture"); + generator.write(this.platformArchitecture); + } if (this.prefixStrings != null) { generator.writeKey("prefix_strings"); @@ -550,6 +567,9 @@ public abstract static class AbstractBuilder> void setupTrainedM op.add(AbstractBuilder::modelSizeBytes, JsonpDeserializer.stringDeserializer(), "model_size_bytes"); op.add(AbstractBuilder::modelPackage, ModelPackageConfig._DESERIALIZER, "model_package"); op.add(AbstractBuilder::location, TrainedModelLocation._DESERIALIZER, "location"); + op.add(AbstractBuilder::platformArchitecture, JsonpDeserializer.stringDeserializer(), "platform_architecture"); op.add(AbstractBuilder::prefixStrings, TrainedModelPrefixStrings._DESERIALIZER, "prefix_strings"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/XlmRobertaTokenizationConfig.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/XlmRobertaTokenizationConfig.java new file mode 100644 index 000000000..e02830b95 --- /dev/null +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/ml/XlmRobertaTokenizationConfig.java @@ -0,0 +1,116 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package co.elastic.clients.elasticsearch.ml; + +import co.elastic.clients.json.JsonpDeserializable; +import co.elastic.clients.json.JsonpDeserializer; +import co.elastic.clients.json.ObjectBuilderDeserializer; +import co.elastic.clients.json.ObjectDeserializer; +import co.elastic.clients.util.ObjectBuilder; +import jakarta.json.stream.JsonGenerator; +import java.util.Objects; +import java.util.function.Function; + +//---------------------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------------------- +// +// This code is generated from the Elasticsearch API specification +// at https://github.com/elastic/elasticsearch-specification +// +// Manual updates to this file will be lost when the code is +// re-generated. +// +// If you find a property that is missing or wrongly typed, please +// open an issue or a PR on the API specification repository. +// +//---------------------------------------------------------------- + +// typedef: ml._types.XlmRobertaTokenizationConfig + +/** + * + * @see API + * specification + */ +@JsonpDeserializable +public class XlmRobertaTokenizationConfig extends CommonTokenizationConfig implements TokenizationConfigVariant { + // --------------------------------------------------------------------------------------------- + + private XlmRobertaTokenizationConfig(Builder builder) { + super(builder); + + } + + public static XlmRobertaTokenizationConfig of(Function> fn) { + return fn.apply(new Builder()).build(); + } + + /** + * TokenizationConfig variant kind. + */ + @Override + public TokenizationConfig.Kind _tokenizationConfigKind() { + return TokenizationConfig.Kind.XlmRoberta; + } + + // --------------------------------------------------------------------------------------------- + + /** + * Builder for {@link XlmRobertaTokenizationConfig}. + */ + + public static class Builder extends CommonTokenizationConfig.AbstractBuilder + implements + ObjectBuilder { + @Override + protected Builder self() { + return this; + } + + /** + * Builds a {@link XlmRobertaTokenizationConfig}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public XlmRobertaTokenizationConfig build() { + _checkSingleUse(); + + return new XlmRobertaTokenizationConfig(this); + } + } + + // --------------------------------------------------------------------------------------------- + + /** + * Json deserializer for {@link XlmRobertaTokenizationConfig} + */ + public static final JsonpDeserializer _DESERIALIZER = ObjectBuilderDeserializer + .lazy(Builder::new, XlmRobertaTokenizationConfig::setupXlmRobertaTokenizationConfigDeserializer); + + protected static void setupXlmRobertaTokenizationConfigDeserializer( + ObjectDeserializer op) { + CommonTokenizationConfig.setupCommonTokenizationConfigDeserializer(op); + + } + +} From 6735a2da38492de1f176b3ae5dbd9b51f3d8d9c3 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Tue, 11 Mar 2025 15:09:18 +0100 Subject: [PATCH 3/6] maven correct signing --- java-client/build.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/java-client/build.gradle.kts b/java-client/build.gradle.kts index 9647f786e..60cfb3e03 100644 --- a/java-client/build.gradle.kts +++ b/java-client/build.gradle.kts @@ -190,6 +190,13 @@ publishing { } } + +signing { + // Only sign if a key has been configured in gradle.properties + isRequired = providers.gradleProperty("signing.keyId").isPresent + sign(publishing.publications["maven"]) +} + dependencies { // Compile and test with the last 7.x version to make sure transition scenarios where // the Java API client coexists with a 7.x HLRC work fine From 66c37cd0dd6e6ac9e0740bfcee36653b21c65178 Mon Sep 17 00:00:00 2001 From: Sylvain Wallez Date: Thu, 13 Feb 2025 15:50:42 +0100 Subject: [PATCH 4/6] Add release CI pipeline (#934) * Add release CI pipeline * Rename DRA build pipeline to its original name --------- Co-authored-by: Laura Trotta <153528055+l-trotta@users.noreply.github.com> Fix action parameter name Update file extension Mount temp dir in build container (ci) Require Sonatype credentials fix fix --- .buildkite/configure_signing.sh | 25 ------------ .buildkite/pipeline.yml | 4 +- .buildkite/release_central.yml | 14 +++++++ .ci/Dockerfile | 3 ++ .ci/make.sh | 16 ++++++-- .ci/release_central.sh | 27 +++++++++++++ .ci/{release.sh => release_dra.sh} | 0 .github/workflows/release_central.yml | 56 +++++++++++++++++++++++++++ catalog-info.yaml | 36 +++++++++++++++++ java-client/build.gradle.kts | 24 ++++++------ 10 files changed, 163 insertions(+), 42 deletions(-) delete mode 100755 .buildkite/configure_signing.sh create mode 100644 .buildkite/release_central.yml create mode 100755 .ci/release_central.sh rename .ci/{release.sh => release_dra.sh} (100%) create mode 100644 .github/workflows/release_central.yml diff --git a/.buildkite/configure_signing.sh b/.buildkite/configure_signing.sh deleted file mode 100755 index cfdba0d07..000000000 --- a/.buildkite/configure_signing.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -#see https://central.sonatype.org/publish/publish-gradle/#distributing-your-public-key - -set -e - -mkdir -p /tmp -keyring_file="/tmp/keyring.gpg" - -vault kv get --field="keyring" kv/ci-shared/release-eng/team-release-secrets/elasticsearch-java/gpg | base64 -d > $keyring_file -signing_password=$(vault kv get --field="passphase" kv/ci-shared/release-eng/team-release-secrets/elasticsearch-java/gpg) -signing_key=$(vault kv get --field="key_id" kv/ci-shared/release-eng/team-release-secrets/elasticsearch-java/gpg) - -maven_username=$(vault kv get --field="username" kv/ci-shared/release-eng/team-release-secrets/elasticsearch-java/maven_central) -maven_password=$(vault kv get --field="password" kv/ci-shared/release-eng/team-release-secrets/elasticsearch-java/maven_central) - -cat > gradle.properties < missing version parameter\033[0m" + exit 1 + fi + echo -e "\033[36;1mTARGET: release artefact $VERSION\033[0m" TASK=release TASK_ARGS=("$VERSION" "$output_folder") ;; @@ -159,7 +169,7 @@ if [[ "$CMD" == "assemble" ]]; then fi build_image - echo -e "\033[34;1mINFO:\033[0m Building version ${assemble_version}\033[0m" + echo -e "\033[34;1mINFO:\033[0m Building version ${assemble_version}\033[0m" docker run --rm --env VERSION=$assemble_version -u "$(id -u)" \ $git_mount $src_mount $output_mount \ $docker_image \ diff --git a/.ci/release_central.sh b/.ci/release_central.sh new file mode 100755 index 000000000..72f41fb6d --- /dev/null +++ b/.ci/release_central.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# +# Licensed to Elasticsearch B.V. under one or more contributor +# license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright +# ownership. Elasticsearch B.V. licenses this file to you under +# the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +#see https://central.sonatype.org/publish/publish-gradle/#distributing-your-public-key + +set -euo pipefail + +.ci/configure_signing.sh + +.ci/make.sh release $VERSION diff --git a/.ci/release.sh b/.ci/release_dra.sh similarity index 100% rename from .ci/release.sh rename to .ci/release_dra.sh diff --git a/.github/workflows/release_central.yml b/.github/workflows/release_central.yml new file mode 100644 index 000000000..21e9f6177 --- /dev/null +++ b/.github/workflows/release_central.yml @@ -0,0 +1,56 @@ +name: "Release to Maven Central" + +on: + workflow_dispatch: + inputs: + branch: + description: "Branch or tag ref to run the workflow on" + required: true + version: + description: "The version to release. Must start with the one in config/version.txt" + required: true + dry_run: + description: Used to test other workflow steps, does not publish to Maven Central. + type: boolean + required: true + default: false + +env: + BRANCH: ${{ inputs.branch }} + VERSION: ${{ inputs.version }} + DRY_RUN: ${{ inputs.dry_run }} + +jobs: + validate-version: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.branch }} + fetch-depth: '1' + - name: Validate version + shell: bash + run: | + repo_version="$(cat config/version.txt)" + if [[ ! "$VERSION" = $repo_version* ]]; then + echo "Workflow version ($VERSION) and config/version.txt ($repo_version) do not match." + exit 1 + fi + + maven-central-deploy: + name: "Deploy to Maven Central (Buildkite)" + runs-on: ubuntu-latest + needs: + - validate-version + steps: + - id: buildkite-run + uses: elastic/oblt-actions/buildkite/run@v1 + with: + pipeline: "elasticsearch-java-release" + wait-for: true + token: ${{ secrets.BUILDKITE_TOKEN }} + branch: ${{ inputs.branch }} + env-vars: | + DRY_RUN=${{ inputs.dry_run }} + VERSION=${{ inputs.version }} diff --git a/catalog-info.yaml b/catalog-info.yaml index 562e4cfdf..6c1077dbc 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -26,3 +26,39 @@ spec: devtools-team: {} everyone: access_level: READ_ONLY + + +--- +# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json +apiVersion: backstage.io/v1alpha1 +kind: Resource +metadata: + name: buildkite-pipeline-elasticsearch-java-release + description: Buildkite Release pipeline for elasticsearch-java + links: + - title: Pipeline + url: https://buildkite.com/elastic/elasticsearch-java-release + tags: + - buildkite + - gpg-sign + - maven-central +spec: + type: buildkite-pipeline + owner: group:devtools-team + system: buildkite + implementation: + apiVersion: buildkite.elastic.dev/v1 + kind: Pipeline + metadata: + description: Elasticsearch Java Client Release + name: elasticsearch-java-release + spec: + repository: elastic/elasticsearch-java + pipeline_file: ".buildkite/release_central.yml" + provider_settings: + trigger_mode: none + teams: + devtools-team: + access_level: MANAGE_BUILD_AND_READ + everyone: + access_level: READ_ONLY diff --git a/java-client/build.gradle.kts b/java-client/build.gradle.kts index 60cfb3e03..e911f8d95 100644 --- a/java-client/build.gradle.kts +++ b/java-client/build.gradle.kts @@ -65,8 +65,8 @@ tasks.getByName("processResources") { if (name != "apis.json") { // Only process main source-set resources (test files are large) expand( - "version" to version, - "git_revision" to (if (rootProject.extra.has("gitHashFull")) rootProject.extra["gitHashFull"] else "unknown") + "version" to version, + "git_revision" to (if (rootProject.extra.has("gitHashFull")) rootProject.extra["gitHashFull"] else "unknown") ) } } @@ -166,7 +166,7 @@ publishing { // are the same as the one used in the dependency section below. val xPathFactory = javax.xml.xpath.XPathFactory.newInstance() val depSelector = xPathFactory.newXPath() - .compile("/project/dependencies/dependency[groupId/text() = 'org.elasticsearch.client']") + .compile("/project/dependencies/dependency[groupId/text() = 'org.elasticsearch.client']") val versionSelector = xPathFactory.newXPath().compile("version") var foundVersion = false; @@ -282,15 +282,15 @@ licenseReport { class SpdxReporter(val dest: File) : ReportRenderer { // License names to their SPDX identifier val spdxIds = mapOf( - "The Apache License, Version 2.0" to "Apache-2.0", - "Apache License, Version 2.0" to "Apache-2.0", - "The Apache Software License, Version 2.0" to "Apache-2.0", - "BSD Zero Clause License" to "0BSD", - "Eclipse Public License 2.0" to "EPL-2.0", - "Eclipse Public License v. 2.0" to "EPL-2.0", - "Eclipse Public License - v 2.0" to "EPL-2.0", - "GNU General Public License, version 2 with the GNU Classpath Exception" to "GPL-2.0 WITH Classpath-exception-2.0", - "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" to "CDDL-1.0" + "The Apache License, Version 2.0" to "Apache-2.0", + "Apache License, Version 2.0" to "Apache-2.0", + "The Apache Software License, Version 2.0" to "Apache-2.0", + "BSD Zero Clause License" to "0BSD", + "Eclipse Public License 2.0" to "EPL-2.0", + "Eclipse Public License v. 2.0" to "EPL-2.0", + "Eclipse Public License - v 2.0" to "EPL-2.0", + "GNU General Public License, version 2 with the GNU Classpath Exception" to "GPL-2.0 WITH Classpath-exception-2.0", + "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" to "CDDL-1.0" ) private fun quote(str: String): String { From c7094077960a810dcf234a66da6bd394a2046754 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Fri, 28 Mar 2025 16:52:05 +0100 Subject: [PATCH 5/6] [codegen] update to latest spec --- .../_types/mapping/BooleanProperty.java | 129 ++++++++++++++++++ .../elasticsearch/doc-files/api-spec.html | 66 ++++----- .../enrich/ExecutePolicyResponse.java | 26 ++-- .../execute_policy/EnrichPolicyPhase.java | 2 + .../ExecuteEnrichPolicyStatus.java | 30 ++++ 5 files changed, 207 insertions(+), 46 deletions(-) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BooleanProperty.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BooleanProperty.java index 06967d0e8..a65698a66 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BooleanProperty.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_types/mapping/BooleanProperty.java @@ -19,6 +19,7 @@ package co.elastic.clients.elasticsearch._types.mapping; +import co.elastic.clients.elasticsearch._types.Script; import co.elastic.clients.elasticsearch.indices.NumericFielddata; import co.elastic.clients.json.JsonpDeserializable; import co.elastic.clients.json.JsonpDeserializer; @@ -70,6 +71,18 @@ public class BooleanProperty extends DocValuesPropertyBase implements PropertyVa @Nullable private final Boolean nullValue; + @Nullable + private final Boolean ignoreMalformed; + + @Nullable + private final Script script; + + @Nullable + private final OnScriptError onScriptError; + + @Nullable + private final Boolean timeSeriesDimension; + // --------------------------------------------------------------------------------------------- private BooleanProperty(Builder builder) { @@ -79,6 +92,10 @@ private BooleanProperty(Builder builder) { this.fielddata = builder.fielddata; this.index = builder.index; this.nullValue = builder.nullValue; + this.ignoreMalformed = builder.ignoreMalformed; + this.script = builder.script; + this.onScriptError = builder.onScriptError; + this.timeSeriesDimension = builder.timeSeriesDimension; } @@ -126,6 +143,41 @@ public final Boolean nullValue() { return this.nullValue; } + /** + * API name: {@code ignore_malformed} + */ + @Nullable + public final Boolean ignoreMalformed() { + return this.ignoreMalformed; + } + + /** + * API name: {@code script} + */ + @Nullable + public final Script script() { + return this.script; + } + + /** + * API name: {@code on_script_error} + */ + @Nullable + public final OnScriptError onScriptError() { + return this.onScriptError; + } + + /** + * For internal use by Elastic only. Marks the field as a time series dimension. + * Defaults to false. + *

+ * API name: {@code time_series_dimension} + */ + @Nullable + public final Boolean timeSeriesDimension() { + return this.timeSeriesDimension; + } + protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write("type", "boolean"); @@ -150,6 +202,25 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.write(this.nullValue); } + if (this.ignoreMalformed != null) { + generator.writeKey("ignore_malformed"); + generator.write(this.ignoreMalformed); + + } + if (this.script != null) { + generator.writeKey("script"); + this.script.serialize(generator, mapper); + + } + if (this.onScriptError != null) { + generator.writeKey("on_script_error"); + this.onScriptError.serialize(generator, mapper); + } + if (this.timeSeriesDimension != null) { + generator.writeKey("time_series_dimension"); + generator.write(this.timeSeriesDimension); + + } } @@ -174,6 +245,18 @@ public static class Builder extends DocValuesPropertyBase.AbstractBuilder> fn) { + return this.script(fn.apply(new Script.Builder()).build()); + } + + /** + * API name: {@code on_script_error} + */ + public final Builder onScriptError(@Nullable OnScriptError value) { + this.onScriptError = value; + return this; + } + + /** + * For internal use by Elastic only. Marks the field as a time series dimension. + * Defaults to false. + *

+ * API name: {@code time_series_dimension} + */ + public final Builder timeSeriesDimension(@Nullable Boolean value) { + this.timeSeriesDimension = value; + return this; + } + @Override protected Builder self() { return this; @@ -245,6 +370,10 @@ protected static void setupBooleanPropertyDeserializer(ObjectDeserializer 1) { hash = hash.substring(1); } - window.location = "https://github.com/elastic/elasticsearch-specification/tree/c00564eff0272d108c60271c404740322331a9be/specification/" + (paths[hash] || ""); + window.location = "https://github.com/elastic/elasticsearch-specification/tree/01990f0fb08d95f8116318112a2b085f8c044cab/specification/" + (paths[hash] || ""); - Please see the Elasticsearch API specification. + Please see the Elasticsearch API specification. diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java index f489217df..bdd38eec7 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/ExecutePolicyResponse.java @@ -63,14 +63,14 @@ public class ExecutePolicyResponse implements JsonpSerializable { private final ExecuteEnrichPolicyStatus status; @Nullable - private final String taskId; + private final String task; // --------------------------------------------------------------------------------------------- private ExecutePolicyResponse(Builder builder) { this.status = builder.status; - this.taskId = builder.taskId; + this.task = builder.task; } @@ -87,11 +87,11 @@ public final ExecuteEnrichPolicyStatus status() { } /** - * API name: {@code task_id} + * API name: {@code task} */ @Nullable - public final String taskId() { - return this.taskId; + public final String task() { + return this.task; } /** @@ -110,9 +110,9 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { this.status.serialize(generator, mapper); } - if (this.taskId != null) { - generator.writeKey("task_id"); - generator.write(this.taskId); + if (this.task != null) { + generator.writeKey("task"); + generator.write(this.task); } @@ -136,7 +136,7 @@ public static class Builder extends WithJsonObjectBuilderBase private ExecuteEnrichPolicyStatus status; @Nullable - private String taskId; + private String task; /** * API name: {@code status} @@ -155,10 +155,10 @@ public final Builder status( } /** - * API name: {@code task_id} + * API name: {@code task} */ - public final Builder taskId(@Nullable String value) { - this.taskId = value; + public final Builder task(@Nullable String value) { + this.task = value; return this; } @@ -191,7 +191,7 @@ public ExecutePolicyResponse build() { protected static void setupExecutePolicyResponseDeserializer(ObjectDeserializer op) { op.add(Builder::status, ExecuteEnrichPolicyStatus._DESERIALIZER, "status"); - op.add(Builder::taskId, JsonpDeserializer.stringDeserializer(), "task_id"); + op.add(Builder::task, JsonpDeserializer.stringDeserializer(), "task"); } diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java index afe15042b..eae0d8f24 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/EnrichPolicyPhase.java @@ -54,6 +54,8 @@ public enum EnrichPolicyPhase implements JsonEnum { Failed("FAILED"), + Cancelled("CANCELLED"), + ; private final String jsonValue; diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java index 189a538f6..11602553e 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/enrich/execute_policy/ExecuteEnrichPolicyStatus.java @@ -30,6 +30,7 @@ import co.elastic.clients.util.ObjectBuilder; import co.elastic.clients.util.WithJsonObjectBuilderBase; import jakarta.json.stream.JsonGenerator; +import java.lang.String; import java.util.Objects; import java.util.function.Function; import javax.annotation.Nullable; @@ -61,11 +62,15 @@ public class ExecuteEnrichPolicyStatus implements JsonpSerializable { private final EnrichPolicyPhase phase; + @Nullable + private final String step; + // --------------------------------------------------------------------------------------------- private ExecuteEnrichPolicyStatus(Builder builder) { this.phase = ApiTypeHelper.requireNonNull(builder.phase, this, "phase"); + this.step = builder.step; } @@ -80,6 +85,14 @@ public final EnrichPolicyPhase phase() { return this.phase; } + /** + * API name: {@code step} + */ + @Nullable + public final String step() { + return this.step; + } + /** * Serialize this object to JSON. */ @@ -93,6 +106,11 @@ protected void serializeInternal(JsonGenerator generator, JsonpMapper mapper) { generator.writeKey("phase"); this.phase.serialize(generator, mapper); + if (this.step != null) { + generator.writeKey("step"); + generator.write(this.step); + + } } @@ -112,6 +130,9 @@ public static class Builder extends WithJsonObjectBuilderBase ObjectBuilder { private EnrichPolicyPhase phase; + @Nullable + private String step; + /** * Required - API name: {@code phase} */ @@ -120,6 +141,14 @@ public final Builder phase(EnrichPolicyPhase value) { return this; } + /** + * API name: {@code step} + */ + public final Builder step(@Nullable String value) { + this.step = value; + return this; + } + @Override protected Builder self() { return this; @@ -150,6 +179,7 @@ protected static void setupExecuteEnrichPolicyStatusDeserializer( ObjectDeserializer op) { op.add(Builder::phase, EnrichPolicyPhase._DESERIALIZER, "phase"); + op.add(Builder::step, JsonpDeserializer.stringDeserializer(), "step"); } From 8944f8d120d772ad6c8128dd029b5d28685ab154 Mon Sep 17 00:00:00 2001 From: Laura Trotta Date: Fri, 28 Mar 2025 16:52:32 +0100 Subject: [PATCH 6/6] bump version --- config/version.txt | 2 +- .../java/co/elastic/clients/transport/VersionInfo.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/version.txt b/config/version.txt index 4d7f472fd..95f4aff0a 100644 --- a/config/version.txt +++ b/config/version.txt @@ -1 +1 @@ -8.16.6 +8.16.7 diff --git a/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java b/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java index 49004db59..08b76cc48 100644 --- a/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java +++ b/java-client/src/main-flavored/java/co/elastic/clients/transport/VersionInfo.java @@ -22,5 +22,5 @@ // Package private class VersionInfo { static final String FLAVOR = "stack"; - static final String VERSION = "8.16.6"; + static final String VERSION = "8.16.7"; }