private IList <CatAliasesRecord> GetAliasList(IElasticClient client) { var result = client.CatAliases( d => d.RequestConfiguration(r => r.RequestTimeout(5 * 60 * 1000))); return(result.Records.ToList()); }
public void SwitchAliasToIndex(string indexName) { var catAliases = _client.CatAliases(new CatAliasesRequest(_aliasName)); var oldIndexes = catAliases.Records.Select(x => x.Index); var response = _client.Alias(a => RemoveIndexesFromAlias(a, oldIndexes).Add(i => i.Index(indexName).Alias(_aliasName))); if (!response.IsValid) { throw new Exception("Failed while switching index alias.", response.OriginalException); } foreach (var index in oldIndexes) { _client.DeleteIndexAsync(new DeleteIndexRequest(index)); } }