是否可以通过 Elasticsearch 中的映射来更新索引中的现有字段?

2024-04-02

我已经创建了一个索引,它包含我的数据MySQL数据库。我有几个字段string在我的表中,我需要它们作为不同的类型(integer & double) in Elasticsearch.

所以我知道我可以通过mapping如下:

{
  "mappings": {
    "my_type": {
      "properties": {
        "userid": {
          "type": "text",
          "fielddata": true
        },
        "responsecode": {
          "type": "integer"
        },
        "chargeamount": {
          "type": "double"
        }
      }
    }
  }
} 

但是当我创建新索引时我已经尝试过这一点。我想知道的是如何更新现有字段(即:chargeamount在这种情况下)使用mapping as a PUT?

这可能吗?任何帮助都将不胜感激。


创建映射类型后,您可以更新的内容就受到很大限制。根据官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html#updating-field-mappings,创建现有映射后您可以对其进行的唯一更改如下,但更改字段的类型不是其中之一:

一般来说,现有字段的映射无法更新。那里 此规则有一些例外。例如:

  • 可以将新属性添加到对象数据类型字段。
  • 新的多字段可以添加到现有字段中。
  • doc_values 可以禁用,但不能启用。
  • 可以更新ignore_above参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以通过 Elasticsearch 中的映射来更新索引中的现有字段? 的相关文章

随机推荐