Как проверить, существует ли индекс в elasticsearch с использованием скрипта python и выполнять обработку исключений?

Как проверить, существует ли индекс или нет, используя запрос python?

Я передаю свой индекс как переменную, назначенную вне запроса, как: –

i=int(datetime.datetime.now().strftime('%d'))+1 indextring="index" for m in range (i-10,i): d = datetime.datetime(2016, 10, m, 18, 00).strftime('%Y-%m-%d') index1=datestring+d subfix="_"+datetime.datetime(2016, 10, m, 18, 00).strftime('%Y-%m-%d') es=Elasticsearch(['localhost:9200']) res = **es.search(index='{0}'.format(index1)**, doc_type="log",size=10000, from_=0, body={ "query": { "match": { ....Match condition follows } } }}) 

Теперь некоторые индексы отсутствуют для определенной даты, однако я хочу, чтобы процесс выполнялся независимо от этого. Я получаю следующую ошибку, когда индекс отсутствует ->

elasticsearch.exceptions.NotFoundError: TransportError (404, u'index_not_found_exception ')

Я не уверен, как обработка исключений работает в elasticsearch.

Вы должны назвать это по индексам . В настоящее время вы используете существующий класс поиска, который говорит вам, существует ли данный документ в индексе, а не в самом индексе.

Попробуйте этот код

 if es.indices.exists(index="index"): Your code for search 

Есть также больше вариантов, если вы хотите использовать.

здесь вы можете использовать:
https://elasticsearch-py.readthedocs.io/en/master/api.html#elasticsearch.client.IndicesClient.exists

и сделать что-то вроде:

 es = Elasticsearch(['localhost:9200']) if es.exists('index'): print("index exist") else: print("no index")