Проверьте, что elasti c поисковое развертывание в настоящее время доступно или не использует Java - PullRequest
0 голосов
/ 13 февраля 2020

Я создал сервис Java для elasti c Операция поиска CRUD. Ниже я предоставил свои бизнес-логи c. Я делаю все проверки на стороне сервера, так как мне нужно проверить поиск elasti c. В настоящее время развертывание доступно или не используется с помощью поиска RestHighLevelClient из elasti c перед вставкой данных в мой индекс. я дал свой код ниже.

public String createProfileDocument(EmployeeInformation document, String IndexName) throws Exception {
        String Id = document.getId();
        if (Strings.isNullOrEmpty(Id)) {
            return "ID is null or empty";
        }
        else if(Strings.isNullOrEmpty(IndexName)) {
            return "Index name is null or empty";
        }
        else if(isTextContainUpperCase(IndexName)){
            return "Index name should be in lowercase";
        }
        else if(logic to check the deployment)
        {
            return "Elasticsearch deployment is not reachable";
        }

        IndexRequest indexRequest = new IndexRequest(IndexName);
        indexRequest.id(document.getId());
        indexRequest.source(convertProfileDocumentToMap(document), XContentType.JSON);

        IndexResponse indexResponse = client.index(indexRequest, RequestOptions.DEFAULT);
        return indexResponse.getResult().name();

    }

Может ли кто-нибудь помочь мне добиться этого в приведенном выше коде? Заранее спасибо

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Поскольку вы спрашивали только о проверке статуса, я предполагаю, что у вас есть доступ к RestHighLevelClient экземпляру

import org.elasticsearch.client.RequestOptions;

...

public boolean checkTempConnection(RestHighLevelClient client) {
    try {
        return client.ping(RequestOptions.DEFAULT);
    } catch (Exception e) {
        log.warn("Can't get status : {}", e.getMessage());
        return false; // Not available
    }
}

Удачи!

1 голос
/ 13 февраля 2020
  1. Создайте клиент отдыха и рассмотрите возможность использования анализатора для реализации восстановления после сбоя соединения
  2. Проверьте, готов ли кластер
  3. Проверьте, существует ли индекс
  4. Инициируйте индекс, если нет (используйте индекс api )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...