Как проверить, является ли индекс перед созданием в эластичном поиске

#python #elasticsearch

#python #elasticsearch

Вопрос:

Код приведен ниже

 from elasticsearch import Elasticsearch
es = Elasticsearch()
#es.indices.delete(index='my-index', ignore=400)
es.indices.create(index='my-index', ignore=400)
for e in test:
    es.index(index="my-index", body=e, id=e['id'])
  

Мне нужно сначала проверить, есть ли index exists перед созданием индекса. Если существует, то мои входящие журналы должны быть добавлены, если индекса нет, мне нужно сначала его создать

Ответ №1:

Поскольку вы не создаете свой индекс с определенными сопоставлениями или настройками, вы можете отказаться от этого шага и просто проиндексировать свои данные, и индекс будет создан автоматически.

Итак, этого достаточно:

 from elasticsearch import Elasticsearch
es = Elasticsearch()
for e in test:
    es.index(index="my-index", body=e, id=e['id'])
  

Комментарии:

1. допустим, в начале нет my-index? создает ли это новый my-index?

2. есть ли что-нибудь вроде if es.indexes.exists(«my-index») == False:

3. Опять же, вам не нужно, так как вызов es.index создаст my-index индекс автоматически