使用NEST 5.x创建Elasticsearch索引

时间:2016-11-20 23:17:23

标签: elasticsearch nest

我正在尝试使用NEST 5.x预发布版本为Elasticsearch 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都没有提供自动完成功能。有没有新的方法来创建索引?请告诉我。

由于

1 个答案:

答案 0 :(得分:10)

除了提供其他索引创建选项的委托

之外,您还需要为索引提供名称
#include <stdio.h>

#define DCACHE_SIZE 5

long fibcache(int number);
long fibcache_values[DCACHE_SIZE] = { 0 };

int main(void) {
    printf("List of Fibonacci numbers:\n");
    for (int i = 0; i < 47; i++) {
        printf("    fib(%d) = %ld\n", fibcache(i));
    }
    return 0;
}

long fibcache(int n) {
    if (n <= 0)
        return 0;
    if (n == 1)
        return 1;
    if (n < DCACHE_SIZE) {
        if (fibcache_values[n] != 0)
            return fibcache_values[n];
        else
            return fibcache_values[n] = fibcache(n - 1) + fibcache(n - 2);
    } else {
        return fibcache(n - 1) + fibcache(n - 2);
    }
}