Я думаю, что вы не можете добавить параметры запроса в RestHighLevelClient , потому что его основная цель состоит в том, чтобы выставлять специфичные для API методы, которые принимают объекты запроса в качестве аргумента и возвращают объекты ответа.
Поскольку RestHighLevelClient построен поверх клиента REST низкого уровня, его можно использовать для добавления параметров запроса.
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")));
Используйте это для получения низкоуровневого клиента от RestHighLevelClient:
RestClient lowLevelClient = client.getLowLevelClient();
REST-клиент низкого уровня имеет метод executeRequest, который принимает параметр запроса:
lowLevelClient.performRequest(method, endpoint, params, entity, null);
описание метода:
public Response performRequest(String method, String endpoint, Map<String, String> params,
HttpEntity entity, HttpAsyncResponseConsumerFactory httpAsyncResponseConsumerFactory,
Header... headers) throws IOException {
SyncResponseListener listener = new SyncResponseListener(maxRetryTimeoutMillis);
performRequestAsync(method, endpoint, params, entity, httpAsyncResponseConsumerFactory, listener, headers);
return listener.get();
}
Javadoc: executeRequest