Я пытаюсь получить доступ к эластичному поиску 6.7.0
(я не могу использовать эластичный клиент-отдых-высокий-уровень-клиент, потому что я уже использую его версию 7.1.0, я достиг 2 эластичных поисков с разнымиверсия)
, поэтому я создаю его с RestTemplate
, но получаю ошибку 400
{"error":
{"root_cause":
[{"type":"parse_exception","reason":"request body or source parameter is required"}],
"type":"parse_exception","reason":"request body or source parameter is required"},
"status":400}
}
это то, что я пытался
protected void findByRest(String identification) throws Exception {
RestTemplate restTemplate = new RestTemplate();
String url = "http://127.0.0.1:9200/_search/template";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
String json = "{\"source\":{\"size\":\"2000\",\"query\":{\"match\":{\"identification\":\"123456789\"}}}}";
HttpEntity<String> requestEntity = new HttpEntity<>(json, headers);
try {
ResponseEntity<Object> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Object.class);
}catch (HttpClientErrorException e) {
LOG.error("{}",e.getResponseBodyAsString());
throw w;
}
}
этоработает нормально с curl
curl -X GET \
http://127.0.0.1:9200/_search/template \
-H 'Accept: */*' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Host: 127.0.0.1:9200' \
-H 'Postman-Token: 7d1e98f4-23ba-437b-95a7-ea8df9fac837,079e18f5-aaee-4b19-802b-ef4337eaf8c5' \
-H 'User-Agent: PostmanRuntime/7.15.0' \
-H 'accept-encoding: gzip, deflate' \
-H 'cache-control: no-cache' \
-H 'content-length: 80' \
-d '{"source":{"size":"2000","query":{"match":{"identificacion":"132465789"}}}}'
есть какие-либо подсказки?