Elasticsearch .NET Nest 6.2配置索引设置编译错误问题求助
解决Nest 6.2创建索引时的编译错误问题
这个编译错误是因为Nest 6.x版本的CreateIndex方法签名和你找到的旧代码不兼容导致的——6.x版本不再直接接受IndexSettings实例作为第二个参数,而是要求传入一个配置委托来构建索引创建请求。
正确的写法有两种,你可以根据习惯选择:
方式1:使用Nest的流式API(推荐,更符合框架惯用风格)
using Nest; var indexName = "indexName"; var client = this.ConnectedClient; client.CreateIndex(indexName, descriptor => descriptor .Settings(settings => settings .NumberOfShards(5) .NumberOfReplicas(1) ) );
方式2:复用已创建的IndexSettings对象
如果你还是想保留单独创建IndexSettings的逻辑,可以把它传入到CreateIndexDescriptor的Settings方法中:
using Nest; var indexName = "indexName"; var client = this.ConnectedClient; var settings = new IndexSettings(); settings.NumberOfReplicas = 1; settings.NumberOfShards = 5; client.CreateIndex(indexName, descriptor => descriptor .Settings(settings) );
两种写法都能正确设置索引的分片数和副本数,解决你遇到的编译错误问题。
内容的提问来源于stack exchange,提问作者mashta gidi
相关产品推荐
相关产品推荐

