Удаление индексов Elasticsearch, которые не соответствуют набору имен, через NEST - PullRequest
0 голосов
/ 10 июля 2020

Я использую NEST 5.2 для управления экземпляром Elasticsearch, и мне нужно удалить индексы, которые больше не нужны. У меня есть список индексов, которые все еще нужны, и я бы хотел удалить все, чего нет в этом списке. Есть ли какой-либо вызов функции, который может достичь этого?

Если нет, есть ли способ получить список индексов, чтобы я мог выполнить свою собственную фильтрацию и удалить их по имени, используя IElasticClient.DeleteIndexAsync? Я могу просмотреть список, используя маршрут _aliases с запросом GET, но не могу найти правильную формулировку IElasticClient.Alias, которая получает тот же список.

1 Ответ

1 голос
/ 13 июля 2020

API cat индексов может получить список индексов в кластере

var client = new ElasticClient();

var indices = client.CatIndices()
    .Records
    .Select(r => r.Index)
    .ToList();

Затем вы можете отфильтровать их до тех, которые хотите удалить

...