因此,随着 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));
});
最佳答案
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 方法所在的位置。
关于c# - Nest Client c# 7.0 用于 Elasticsearch 删除别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58291005/