From ddedb94b6c0456368d60e9ba9c1a04d55f82d751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20B=C3=BCscher?= <cbuescher@posteo.de> Date: Wed, 18 Mar 2020 19:59:30 +0100 Subject: [PATCH] Add unsupported parameters to HLRC search request (#53745) Currently we don't send values for the `pre_filter_shard_size` and `max_concurrent_shard_requests` SearchRequest parameters over http when using the High Level Rest Client. This change adds these parameters to the RequestConverters and tests. --- .../java/org/elasticsearch/client/RequestConverters.java | 2 ++ .../org/elasticsearch/client/RequestConvertersTests.java | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/client/rest-high-level/src/main/java/org/elasticsearch/client/RequestConverters.java b/client/rest-high-level/src/main/java/org/elasticsearch/client/RequestConverters.java index b9b3c4b31a414..a8532f6d16339 100644 --- a/client/rest-high-level/src/main/java/org/elasticsearch/client/RequestConverters.java +++ b/client/rest-high-level/src/main/java/org/elasticsearch/client/RequestConverters.java @@ -410,6 +410,8 @@ private static void addSearchRequestParams(Params params, SearchRequest searchRe params.withIndicesOptions(searchRequest.indicesOptions()); params.putParam("search_type", searchRequest.searchType().name().toLowerCase(Locale.ROOT)); params.putParam("ccs_minimize_roundtrips", Boolean.toString(searchRequest.isCcsMinimizeRoundtrips())); + params.putParam("pre_filter_shard_size", Integer.toString(searchRequest.getPreFilterShardSize())); + params.putParam("max_concurrent_shard_requests", Integer.toString(searchRequest.getMaxConcurrentShardRequests())); if (searchRequest.requestCache() != null) { params.putParam("request_cache", Boolean.toString(searchRequest.requestCache())); } diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestConvertersTests.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestConvertersTests.java index 4e04eb9d07d64..3e4ecda385388 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestConvertersTests.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/RequestConvertersTests.java @@ -1857,6 +1857,14 @@ private static void setRandomSearchParams(SearchRequest searchRequest, searchRequest.setCcsMinimizeRoundtrips(randomBoolean()); } expectedParams.put("ccs_minimize_roundtrips", Boolean.toString(searchRequest.isCcsMinimizeRoundtrips())); + if (randomBoolean()) { + searchRequest.setMaxConcurrentShardRequests(randomIntBetween(1, Integer.MAX_VALUE)); + } + expectedParams.put("max_concurrent_shard_requests", Integer.toString(searchRequest.getMaxConcurrentShardRequests())); + if (randomBoolean()) { + searchRequest.setPreFilterShardSize(randomIntBetween(2, Integer.MAX_VALUE)); + } + expectedParams.put("pre_filter_shard_size", Integer.toString(searchRequest.getPreFilterShardSize())); } static void setRandomIndicesOptions(Consumer<IndicesOptions> setter, Supplier<IndicesOptions> getter,