如果使用原始api / _mapping,我可以获得每个索引的所有类型的所有信息。
但是当我使用Nest时,我看不到像/ _mapping这样做的方法。 Nest具有getMapping,但您必须提供映射类型(对象)。
我仍然没有找到任何方法通过Nest传递/ _mapping web api。
如何获取Nest中每个索引的类型列表?
答案 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