无停机时间的elasticsearch索引

vnzz0bqm  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(0)|浏览(318)

我正在为一个网站用c语言编写后端。我想用很少的停机时间重新创建索引。读完这两篇文章:nest client c#7.0 for elastic search removing alias用nest 7.x创建elasticsearch索引
我想到这个:

var alias_exist = await _client.Indices.ExistsAsync(index_string_alias);
                    if (alias_exist.Exists)
                    {
                        var oldIndices = await _client.GetIndicesPointingToAliasAsync(index_string_alias);
                        var oldIndexName = oldIndices.First().ToString();

                        await _client.Indices.BulkAliasAsync(new BulkAliasRequest
                        {
                            Actions = new List<IAliasAction>
                            {
                                new AliasRemoveAction {Remove = new AliasRemoveOperation {Index = oldIndexName, Alias = index_string_alias}},
                                new AliasAddAction {Add = new AliasAddOperation {Index = index_string_unique, Alias = index_string_alias}}
                            }
                        });
                    } else
                    {
                        var putAliasResponse = await _client.Indices.PutAliasAsync(new PutAliasRequest(index_string_unique, index_string_alias));
                    }
                }

我想删除索引\u字符串\u别名(如果存在),并将别名分配给新创建的索引\u字符串\u unique。
另外,我想确认我可以在其他查询中将别名作为索引名。
我对ElasticSearch还很陌生,不知道人们是怎么发现这些东西的。我搜索了官方文档,发现关于nest中异步函数的信息很少。在哪里可以找到函数的解释?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题