#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()
, и если это тоже не удается, у вас проблема (с подключением).