Elasticsearch Nest 6 - 获取索引元数据
Elasticsearch Nest 6 - Get index metadata
目前,我可以在 Kibana 上通过以下命令检索索引映射元数据
GET /[indexName]/_mapping/[documentType]
有没有办法在 Elasticsearch Nest Client 上做到这一点?如果没有,我还有什么其他选择?
您可以使用
检索它
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"
,连接设置中配置的默认索引
type
将是 "mydocument"
,从 POCO 类型推断 MyDocument
如果需要,您可以明确指定索引 and/or 类型
var mappingResponse = client.GetMapping<MyDocument>(m => m
.Index("foo")
.Type("bar")
);
发送以下请求
GET http://localhost:9200/foo/_mapping/bar
以及目标所有索引 and/or 所有类型
var mappingResponse = client.GetMapping<MyDocument>(m => m
.AllIndices()
.AllTypes()
);
发送以下请求
GET http://localhost:9200/_mapping
目前,我可以在 Kibana 上通过以下命令检索索引映射元数据
GET /[indexName]/_mapping/[documentType]
有没有办法在 Elasticsearch Nest Client 上做到这一点?如果没有,我还有什么其他选择?
您可以使用
检索它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"
,连接设置中配置的默认索引type
将是"mydocument"
,从 POCO 类型推断MyDocument
如果需要,您可以明确指定索引 and/or 类型
var mappingResponse = client.GetMapping<MyDocument>(m => m
.Index("foo")
.Type("bar")
);
发送以下请求
GET http://localhost:9200/foo/_mapping/bar
以及目标所有索引 and/or 所有类型
var mappingResponse = client.GetMapping<MyDocument>(m => m
.AllIndices()
.AllTypes()
);
发送以下请求
GET http://localhost:9200/_mapping