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

标签 c# .net elasticsearch nest

如果使用原始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/

相关文章:

elasticsearch - 单个对象数组上的Elasticsearch聚合

C#:将字典与英语以外的语言一起使用时出现问题

c# - 在 C#6 (Roslyn CTP6) 中为字符串插值指定语言环境

c# - 需要一个 XNA 中的 TileMap 的干净示例

c# - C#/。net使用者的Elasticsearch范围查询选项

Elasticsearch - 2个字段的乘法然后求和聚合

c# - 默认堆栈大小在 .NET 3.5 和 4.x 之间变化?

.net - 为什么要密封单例类?

c# - 未执行 C# 中的垃圾收集。为什么?

elasticsearch - Elasticsearch 中的集群运行状况是什么?