Nest Client c# 7.0 用于弹性搜索删除别名
Posted
技术标签:
【中文标题】Nest Client c# 7.0 用于弹性搜索删除别名【英文标题】:Nest Client c# 7.0 for elastic search removing Aliases 【发布时间】:2019-10-08 17:08:56 【问题描述】:因此,随着 Elastic Search 6 的最新更新,C# 客户端也得到了升级。但是我不知道如何使用新的 Client Nest 7 以新的方式编写这段代码。我只需要重写这段代码
var indexExists = Client.IndexExists(CurrentAliasName).Exists;
Client.Alias(aliases =>
if (indexExists)
var oldIndices = Client.GetIndicesPointingToAlias(CurrentAliasName);
var indexName = oldIndices.First().ToString();
//remove alias from live index
aliases.Remove(a => a.Alias(CurrentAliasName).Index("*"));
return aliases.Add(a => a.Alias(CurrentAliasName).Index(CurrentIndexName));
);
【问题讨论】:
【参考方案1】:API 已移至 API 分组中
var client = new ElasticClient();
var CurrentAliasName = "alias_name";
var CurrentIndexName = "index_name";
var indexExists = client.Indices.Exists(CurrentAliasName).Exists;
client.Indices.BulkAlias(aliases =>
if (indexExists)
var oldIndices = client.GetIndicesPointingToAlias(CurrentAliasName);
var indexName = oldIndices.First().ToString();
//remove alias from live index
aliases.Remove(a => a.Alias(CurrentAliasName).Index("*"));
return aliases.Add(a => a.Alias(CurrentAliasName).Index(CurrentIndexName));
);
您还可以参考Nest.7xUpgradeAssistant 包并继续使用与 6.x 中相同的方法来帮助迁移到 7.x。您将收到带有消息的编译器警告,指示新 API 方法的位置。
【讨论】:
以上是关于Nest Client c# 7.0 用于弹性搜索删除别名的主要内容,如果未能解决你的问题,请参考以下文章
为弹性搜索指定和使用带有 C# NEST 客户端的 NGramTokenizer