【问题标题】:How to rename a field in Elasticsearch?如何重命名 Elasticsearch 中的字段?
【发布时间】:2020-08-31 21:50:12
【问题描述】:

我在 Elasticsearch 中有一个具有以下字段映射的索引:

{
    "version_data": {
        "properties": {
            "title": {
                "type": "text",
                "fields": {
                    "raw": {
                        "type": "keyword"
                    }
                }
            },
            "updated_at": {
                "type": "date"
            },
            "updated_by": {
                "type": "keyword"
            }
        }
    }

}

我已经在其中创建了一些文档,现在想将 version_data 字段重命名为 _version_data
Elasticsearch 中是否有任何方法可以重命名映射和文档中的字段?

【问题讨论】:

    标签: elasticsearch elastic-stack elasticsearch-5


    【解决方案1】:

    最接近的是alias data type

    在您的映射中,您可以将其从旧名称链接到新名称,如下所示:

    PUT test/_mapping
    {
      "properties": {
        "_version_data": {
          "type": "alias",
          "path": "version_data"
        }
      }
    }
    

    顺便说一句,我通常会避免前导下划线,因为那些通常用于内部字段,如 _id

    【讨论】:

    • Xeraa 有最好的答案。和 _ 前缀仅适用于元字段,因此对于 vesion_data 它可以有意义。如果您想真正更改文件,则必须重新索引。
    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多