Elasticsearch Nest 6-获取索引元数据

时间:2019-01-29 19:30:18

标签: elasticsearch nest

当前,我可以从Kibana上的以下命令中检索索引映射元数据

GET /[indexName]/_mapping/[documentType]

有没有办法在Elasticsearch Nest Client上做到这一点?如果没有,我还有什么其他选择?

1 个答案:

答案 0 :(得分:1)

您可以使用

进行检索
var defaultIndex = "default-index";
var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));

var settings = new ConnectionSettings(pool)
    .DefaultIndex(defaultIndex);

var client = new ElasticClient(settings);

var mappingResponse = client.GetMapping<MyDocument>();

它将向发送请求

GET http://localhost:9200/default-index/_mapping/mydocument

在这种情况下

  • index将是"default-index",这是在“连接设置”上配置的默认索引<​​/ li> 从POCO类型type推断出的
  • "mydocument"将是MyDocument

您可以根据需要指定索引和/或明确输入

var mappingResponse = client.GetMapping<MyDocument>(m => m
    .Index("foo")
    .Type("bar")
);

发送以下请求

GET http://localhost:9200/foo/_mapping/bar

以及定位所有索引和/或所有类型

var mappingResponse = client.GetMapping<MyDocument>(m => m
    .AllIndices()
    .AllTypes()
);

发送以下请求

GET http://localhost:9200/_mapping