elasticsearch - 使用 NEST 5.x 创建 Elasticsearch 索引

标签 elasticsearch nest

我正在尝试使用适用于 Elasticsearch 5.x 的 NEST 5.x 预发布版本创建索引。我有 2.x 的样本,它显示了如何使用 ElasticClient.CreateIndex 方法创建索引。下面是我的示例代码。

ESnode = new Uri("http://localhost:9200");
Nodesettings = new ConnectionSettings(ESnode);
Client = new ElasticClient(Nodesettings);

但是,当我在下面输入时,没有可用的自动完成功能。

Client.CreateIndex( c => c.

我能够使用以下代码成功获取节点的健康状况。

var res = Client.ClusterHealth();
Console.WriteLine("Status:" + res.Status);

我有一个复杂的文档映射,我已经为其定义了类结构并打算使用 Automap 方法。因此,我试图以编程方式创建索引,以避免手动创建索引。

我尝试使用一些非常旧版本的 NEST (1.x),我能够获得 createIndex 的自动完成功能。但是 v2.4x 和 5.x 都没有提供自动完成功能。有没有新的方法来创建索引?请告诉我。

谢谢

最佳答案

除了提供额外索引创建选项的委托(delegate)之外,您还需要为索引提供名称

var createIndexResponse = client.CreateIndex("index-name", c => c
    .Settings(s => s
        .NumberOfShards(1)
        .NumberOfReplicas(0)
    )
    .Mappings(m => m
        .Map<Conference>(d => d
            .AutoMap()
        )
    )
);

关于elasticsearch - 使用 NEST 5.x 创建 Elasticsearch 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40710587/

相关文章:

c# - C#NEST ElasticSearch Default_Search分析器

elasticsearch - 尽管知道电子邮件确实存在,但是电子邮件的ES curl无法返回正确的结果

c# - 如何在 Nest 中测试异常?

c# - 使用高级Nest Client和AutoMap进行PUT映射

elasticsearch - 聚合嵌套类型属性-使用NEST

mysql - 使用 elasticsearch-river-mysql 将数据从 MySQL 数据库流式传输到 Elasticsearch

ElasticSearch:如何存储产品属性

java - 过滤器(停用词、词干分析器...)未应用于 ElasticSearch 索引

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

node.js - 当nestjs中的正文验证失败时如何阻止文件上传