Elasticsearch.NET版本7-如何创建索引

时间:2019-07-01 13:24:26

标签: c# nest elasticsearch.net

在Elasticsearch.NET 6.x中,可以使用IElasticClient方法创建索引:

var response = elasticClient.Create(
                    "my-index-name",
                    index =>  index .Mappings(
                        ms => ms.Map<MyDocumentType>(
                            x => x.AutoMap()
                        )
                    )
                );

在Elasticsearch.NET版本7中删除了方法。

1 个答案:

答案 0 :(得分:1)

在Elasticsearch.NET版本7中,与索引操作相关的方法已移至IndicesNamespace,因此IndexExists方法已移至:

var response = elasticClient.Indices.Create(IndexName,
                    index => index.Map<ElasticsearchDocument>(
                        x => x.AutoMap()
                    ));

还要注意,Map(...)方法不再嵌套在Mappings(...)方法内部。原因是Elasticsearch服务器版本7支持的每个索引不支持多种类型(请参阅Removal of mapping types),因此每个索引只有一种Map方法。

类似地,不同的方法已移至其自己的名称空间:

  • 集群
  • Sql
  • 节点
  • 等...