用于弹性搜索的 Nest Client c# 7.0 删除别名

al *_*man 2 c# elasticsearch nest

因此,随着 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));
        });
Run Code Online (Sandbox Code Playgroud)

Rus*_*Cam 6

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));
});
Run Code Online (Sandbox Code Playgroud)

您还可以参考Nest.7xUpgradeAssistant包并继续使用与 6.x 中相同的方法来帮助迁移到 7.x。您将收到编译器警告,其中包含指示新 API 方法所在位置的消息。