Я создаю индекс, используя клиент REST высокого уровня (v. 6.3.2) во время загрузки приложения.Я проверяю, получаю ли я подтверждение, но я понимаю, что ложное значение для подтверждения ничего не говорит о сбое операции (это просто означает, что в течение тайм-аута по умолчанию клиент не смог получить подтверждение).
В таком случае, что я могу сделать, чтобы убедиться, что индекс действительно создан?Я ищу правильный код ответа, который позволил бы мне повторить попытку определенное количество раз, а затем сдать
GetIndexRequest getIndexRequest = new GetIndexRequest();
boolean exists = restHighLevelClient.indices().exists(getIndexRequest);
if(!exists) {
//create a new index with default number of shards(5) and replica(1)
CreateIndexRequest createIndexRequest = Requests.createIndexRequest(elasticProps.getIndexName());
CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(createIndexRequest);
boolean acknowledged = createIndexResponse.isAcknowledged();
if(!acknowledged) {
LOGGER.warn("Could not receive acknowledge from all the nodes");
//wait and retry?
//
}
} else {
LOGGER.info("Index already exists");
}