0

我已将 Elastic 搜索从“ 2.3.4 ”升级到“ 7.10.0 ”。

在对应用程序代码进行更改时,对以下 GetMappings 情况感到困惑:

旧代码(2.3.4):

Map<String, Object> mappingMeta = client.admin().indices().prepareGetMappings("index1").get().mappings().get("index1").get("type1").getSourceAsMap();

新代码(7.10.0):

GetMappingsRequest mappingsRequest = new GetMappingsRequest();
mappingsRequest.indices("index1");
GetMappingsResponse mappingsResponse = client.indices().getMapping(mappingsRequest, RequestOptions.DEFAULT);
Map<String, Object> mappingMeta = mappingsResponse.mappings().get("what_should_come_here? "index1" or "type1").getSourceAsMap();

任何人都可以在从新代码中的响应中获取映射数据时帮助我,get 下应该包含什么(参见新代码块的最后一行,也在 get 参数中询问)?那是 indexName 还是 Type 名称?

4

1 回答 1

0

经过一些研发发现,我们可以在 ES 7.x 版本中获取索引的字段映射,但不能获取类型,因为类型在 7.0 中的 API 中已弃用。

因此,在上述情况下,我只能获取索引的映射。

于 2021-08-20T10:40:22.770 回答