如何使用默认索引和自定义分析器创建Nest ElasticSearch客户端?

时间:2017-02-09 15:31:11

标签: elasticsearch nest

我找到了创建Nest elasticSearch客户端的方法,该客户端包含我的自定义分析器的默认索引。我知道我可以使用默认索引和类型名称创建客户端。我看起来像这样:

ElasticClient client = new ElasticClient(new ConnectionSettings(new Uri("http://localhost:9200"))
                                                                      .DefaultIndex("my_index_name")
                                                                      .DefaultTypeNameInferrer(type => "my_type_name"));

但我不知道如何同时将自定义分析器分配到默认索引。有可能吗?

1 个答案:

答案 0 :(得分:1)

设置

.DefaultIndex("my_index_name")

仅告知客户端在请求中未指定索引时要使用的索引的名称,并且未为给定的POCO类型T指定索引。重要的是要注意它不会创建索引。

创建索引时可以添加分析器

client.CreateIndex("index-name", c => c
    .Settings(s => s
        .Analysis(a => a
            // add new Analyzers, Tokenizers, CharFilters, TokenFilters
        )
    )
);

或更新现有索引

client.UpdateIndexSettings("index-name", u => u
    .IndexSettings(i => i
        .Analysis(a => a
            // add new Analyzers, Tokenizers, CharFilters, TokenFilters
        )
    )
);