c# - Nest Client c# 7.0 用于 Elasticsearch 删除别名

标签 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));
        });

最佳答案

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/

相关文章:

c# - ASP.NET Core 1.1 在本地运行良好,但发布到 Azure 时显示 "An error occurred while starting the application."

c# - 在 XAML 中更改 Slider 的值引发异常

c# - 任务延续以维持 UI 线程响应能力

Elasticsearch NEST 客户端创建多字段并完成

elasticsearch - NEST Elasticsearch GeoPoint类

c# - 如何在 Windows 应用程序中异步调用 Elasticsearch NEST 中的 BulkAll 方法

c# - 优先顺序如何影响递归方法?

elasticsearch - 尝试创建带有映射的索引时获取llegal_argument_exception

elasticsearch - elasticsearch精确匹配的字符串包括点

laravel - 如何在AWS Elastic Search中进行批量索引