如果使用原始api/_mapping,我可以获得每个索引的所有类型的所有信息。
但是当我使用 Nest 时,我看不到像/_mapping 那样做同样事情的方法。 Nest有getMapping,但是你必须给出一个映射类型(对象)。
我仍然没有找到任何方法通过 Nest 传递/_mapping Web api。
如何获取Nest中各个索引的类型列表?
最佳答案
我找到了用 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 是字符串。稍后,可以通过 JObject.Parse(JSONResult);
对其进行解析,以获取 JObject 并在 C# 中进一步处理。
此答案仅适用于 NEST 0.12,NEST 1.0 完全更改了 API
关于c# - 如何在C#中使用Nest(Elasticsearch)获取一个索引的所有类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134777/