【问题标题】:Elasticsearch Nest 6 - Get index metadataElasticsearch Nest 6 - 获取索引元数据
【发布时间】:2019-01-30 05:18:25
【问题描述】:

目前,我可以在 Kibana 上通过以下命令检索索引映射元数据

GET /[indexName]/_mapping/[documentType]

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

【问题讨论】:

    标签: elasticsearch nest


    【解决方案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",连接设置中配置的默认索引
    • type 将是 "mydocument",从 POCO 类型推断 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
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 2016-06-17
    • 2014-11-12
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多