首页 > 解决方案 > Elasticsearch 6 映射创建抛出错误

问题描述

我使用的是 ES-6,candidateCreationTime默认情况下在 Kibana 中索引为数字。如何将其映射到日期值?

{
    "_index": "candidatesources",
    "_type": "candidatesource",
    "_id": "5c08b8930bcfe318ca2a00f4",
    "_version": 3,
    "_score": 1,
    "_source": {
        "candidateNotes": "Some Notes",
        "candidateCreationTime": 1544066189124,
        "state": "verified"
    }
}

我试过了

PUT candidatesources/_mapping/csdate
{
  "properties": {
  "candidateCreationTime": {
      "type": "date"
    }
  }
}

但它给出了以下错误

Rejecting mapping update to [candidatesources] as the final mapping would have more than 1 type: [candidatesource, csdate]

我怎么做date而不是number

标签: elasticsearch

解决方案


在 ES 6.x 中,您只能拥有一种映射类型。看到这个此外,正如这里提到的,现有字段的映射无法更新。因此,在您的情况下,您需要创建一个具有正确映射的新索引并将您的数据重新索引到新索引,或者您可以将多字段candidateCreationTime添加到映射为字段的现有date字段。


推荐阅读