使用版本低于2.0的Nest客户端,可以获取索引的所有类型映射的列表,包括映射的名称。在Nest版本> 2.0中,这似乎是不可能的。可以返回映射列表,但不包括名称。例如,我正在使用以下代码来获取映射列表:

var response = elasticClient.GetMapping<object>(mapping => mapping.Index("index.name").AllTypes());

elasticsearch的原始响应包含映射的名称,但Nest客户端的响应不包含。它仅包含映射中的属性列表。知道如何使用Nest Client版本> 2.0来执行此操作吗?

最佳答案

在2019年将NEST 6.4.1与Elasticsearch 5.5结合使用时,可以列出如下类型:

var response = client.GetMapping<object>(mapping => mapping.Index(currentIndex).AllTypes());
IEnumerable<Nest.TypeName> keys = response.Indices.Values.First().Mappings.Keys;

foreach(var key in keys)
{
    Console.WriteLine(key.ToString());
}

关于c# - 使用NEST客户端获取Elasticsearch类型映射名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36991184/

10-17 00:58