代码之家  ›  专栏  ›  技术社区  ›  frostshoxx

Elasticsearch Nest 6-获取索引元数据

  •  0
  • frostshoxx  · 技术社区  · 7 年前

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

    GET /[indexName]/_mapping/[documentType]

    有没有办法在Elasticsearch Nest客户端上实现这一点?如果没有,我还有什么其他选择?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Russ Cam    7 年前

    您可以使用

    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