前言

  • 本文对 Elasticsearch 7.17 适用
  • ES 中要将字符串类型字段转整数类型字段,原来的想法是直接将新 mapping 中字段定义为整数,再 reindex,实践发现走不通,需要定义 pipeline 做转换才行

方法

  • 定义 pipeline
PUT _ingest/pipeline/str2long
{
  "processors" : [
    {
      "convert" : {
        "field" : "year",
        "type": "long"
      }
    }
  ]
}
  • 重建索引
POST _reindex?wait_for_completion=false
{
  "source": {
    "index": "old_index",   // 原有索引
    "size": 5000            // 一个批次处理的数据量
  },
  "dest": {
    "index": "new_index",   // 新索引
    "pipeline": "str2long"
  }
}

相关文献

本文出自 qbit snap

qbit
268 声望279 粉丝