【问题标题】:GetMappings changes in Elastic Search 7.x获取 Elasticsearch 7.x 中的映射更改
【发布时间】:2021-10-19 23:17:18
【问题描述】:

我已将 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 名称?

【问题讨论】:

  • 为什么不能同时尝试这两个选项并查看响应?
  • 情况复杂,现在没有现有数据可以测试。从 ES 7.0 开始,类型也被弃用了。

标签: java elasticsearch upgrade elasticsearch-mapping elasticsearch-high-level-restclient


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2021-01-17
    • 2017-05-13
    • 2017-10-06
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多