如何在C#中使用Nest(Elasticsearch)获取一个索引的所有类型

时间:2014-10-01 05:40:02

标签: c# .net elasticsearch nest

如果使用原始api / _mapping,我可以获得每个索引的所有类型的所有信息。

但是当我使用Nest时,我看不到像/ _mapping这样做的方法。 Nest具有getMapping,但您必须提供映射类型(对象)。

我仍然没有找到任何方法通过Nest传递/ _mapping web api。

如何获取Nest中每个索引的类型列表?

1 个答案:

答案 0 :(得分:2)

我找到了用Nest做的方法。

Nest实际上在对象本身内提供ElasticSearchClient。字段调用Raw实际上提供了来自ElasticSearchClient的所有API。以及映射到ElasticSearch REST web api的所有API,并直接提供JSON结果。

回答这个问题。可以使用以下代码:

var nestClient = new ElasticClient(new ConnectionSettings(new Uri("http://localhost:9200")));
var Response = nestClient.Raw.IndicesGetMapping();
var JSONResult=Response.Result;

JSONResult是String。稍后,这可以由JObject.Parse(JSONResult);解析以获取JObject并在C#中进一步处理。

此答案仅适用于NEST 0.12,NEST 1.0完全更改API