NEST如何根据匹配模式(索引别名)获取所有匹配的索引

背景:
构造一个ESClient,通过一个通配符表达式去获取所有匹配的索引名称。
IndexMatchMode是一个简单的enum,用来判断当前的匹配模式是通配符的还是读索引的。
indexPattern是通配符模式的表达式(logstash-*模式的字符串),IndexReadAlias是读索引的
问题:
应该使用哪个接口将matchMode作为参数去获取所有的索引

public async Task<List<string>> GetMatchedIndexNamesAsync()
        {
            var client = RelatedCluster.BuildClient(true);
            var indexNamesList = new List<string>();
            var matchMode = string.Empty;
            switch (IndexMatchMode)
            {
                case IndexMatchMode.ByPattern:
                    matchMode = IndexPattern;
                    break;
                case IndexMatchMode.ByAlias:
                    matchMode = IndexReadAlias;
                    break;
            }
            //这一步瞎写的
            var result = await client.GetAsync(indexMatchMode);
            return indexNamesList;
        }

效果相当于Kibana结果截图
L$L\[@0T$XUS}K`][HWR(OTS.png

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进