Elasticsearch 6拒绝甚至在简单文档上的映射更新

时间:2018-06-20 08:05:52

标签: elasticsearch kibana

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

错误消息是:

  

拒绝将映射更新更新为[测试],因为最终映射将具有1种以上的类型:[用户,组]

我使用Elasticsearch 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
            }
          }
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:2)

您要为每个type添加一个以上index

PUT测试/ group / 1

PUT测试/ user / 1

ES 6不允许这种行为。

来自breaking changes

  

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