9

我有一个名为 demo 的索引,它包含不同的类型。我在我的应用程序中使用弹性搜索 java internal api 和 rest api jest 。基本上我想提出这个要求

curl -XGET 'http:localhost:9200/demo/_mapping'

有什么办法可以做到这一点,尤其是在 jest api 中?似乎没有文档可以获取其余客户端 api 的映射。我应该怎么办?

4

1 回答 1

12

这应该可行,但它真的很难看:

GetMappingsResponse res = client.admin().indices().getMappings(new GetMappingsRequest().indices("demo")).get();
ImmutableOpenMap<String, MappingMetaData> mapping  = res.mappings().get("demo");
for (ObjectObjectCursor<String, MappingMetaData> c : mapping) {
    System.out.println(c.key+" = "+c.value.source());
}

我不知道这是否得到官方支持——我只是通过玩弄才发现的。

于 2014-10-24T13:50:40.743 回答