【问题标题】:Elasticsearch 6 rejecting mapping update to even on simple documentElasticsearch 6 拒绝对简单文档的映射更新
【发布时间】:2019-08-22 14:32:17
【问题描述】:

从 ES 5 升级到 ES 6 后,每次我想在新索引中存储一些东西时都会收到错误消息。但是所有旧索引都可以正常工作。

错误信息是:

拒绝对 [test] 的映射更新,因为最终映射将有超过 1 种类型:[user, group]

我使用的是弹性搜索 6.3。它在以前创建的索引上的生产服务器上正常工作。我试过删除索引无济于事。

我的测试文件是:

PUT test/group/1
{
    "id": "5b29fb9aa3d24b5a2b6b8fcb",
    "_mongo_id_": "5b29fb9aa3d24b5a2b6b8fcb"
}

PUT test/user/1
{
  "id": "5ad4800ca3d24be81d7a6806",
  "_mongo_id_": "5ad4800ca3d24be81d7a6806"
}

索引映射似乎没问题:

{
  "mapping": {
    "group": {
      "properties": {
        "_mongo_id_": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "id": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        }
      }
    }
  }
}

【问题讨论】:

标签: elasticsearch kibana


【解决方案1】:

您尝试为每个 index 添加多个 type

PUT 测试/group/1

PUT 测试/user/1

这种行为在 ES 6 中是不允许的。

来自breaking changes

已删除每个索引具有多个映射类型的功能 在 6.0 中。新索引将被限制为单一类型。这是 完全删除映射类型的计划的第一步。指数 在 5.x 中创建的将继续支持多种映射类型。

【讨论】:

  • 所以现在我明白了它为什么会起作用,直到我重新创建索引。 elasticsearch弹性好,拿起来都难!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 2016-05-14
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多