Ошибка ElasticSearch NotFoundError

#python #elasticsearch

#питон #эластичный поиск #python #elasticsearch

Вопрос:

Я пытаюсь использовать elasticsearch в качестве базы данных для моего приложения на Python. Я хотел создать индекс в elasticsearch для своего приложения.

Но он продолжает возвращать мне NotFoundError, поэтому я попытался получить список индексов, даже это дает not FoundError.

 def create_indexes(self):

        try:

            client = Elasticsearch(['{}'.format(self.domain)], http_auth=('username','{}'.format(ELASTICSEARCH_PASSWORD)), port=9243)
            print(client)

        except Exception as E:
            print("nnnn......CONNECTION ERROR", E)

        print("nnnnn.......CREATING A INDEX HERE...............")

        # get client
        try:
            # result = client.indices.create(index='vehicle', body={"key": "val"}, request_timeout=30)

            result = client.indices.get_alias("*")

            print("nnn......RESULT", result)
        except Exception as E:
            print("nnn [ERROR IN CREATING THE INDEX]", E)


        return True
  

Где мой домен похож на: https://xxx.region-zone.gcp.cloud.es.io

Ошибка, которую я получаю, заключается в следующем:

 [ERROR IN CREATING THE INDEX] NotFoundError(404, 'Not Found', 'Not Found')
  

Я совершенно не могу понять, это потому, что индексов там нет или потому, что он неправильно подключился к кластеру. Есть ли какой — нибудь способ проверить, что я также подключен к экземпляру кластера?

Ответ №1:

Если бы была проблема с подключением к кластеру, она бы выдала CREATING A INDEX HERE . Так ли это? Что print(client) вернулось выше?

Вы также можете попробовать печать client.cat.indices() , и если это тоже не удается, у вас проблема (с подключением).