繁体   English   中英

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

[英]how to get all the types of one index by using Nest(Elasticsearch) in C#

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

但是当我使用 Nest 时,我看不到像 /_mapping 那样做同样事情的方法。 Nest 有 getMapping,但你必须给出一个映射类型(对象)。

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

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

我找到了用 Nest 做到这一点的方法。

Nest 实际上在对象本身中提供了一个ElasticSearchClient 字段调用Raw实际上提供了来自ElasticSearchClient所有 API。 并将所有API映射到ElasticSearch REST web 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.Parse(JSONResult); 获取 JObject 并在 C# 中进一步处理。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM