elasticsearch进阶—— reindex

Posted 一曲广陵散

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch进阶—— reindex相关的知识,希望对你有一定的参考价值。

一、参考

elasticsearch 学习系列目录——更新ing

二、示例

2.1 修改字段名称

修改字段名称,即先删除原来字段,赋值新字段

POST _reindex
{
  "source": {
    "index": "yztest"
  },
  "dest": {
    "index": "yztest1"
  },
  "script": {
    "lang": "painless", 
    "source": """
      for (item in params.updateFields){
        if (ctx._source.containsKey(item)){
          def newItem = "df_" + item;
          ctx[\'_source\'][newItem] = ctx._source.remove(item);
        }
      }
    """,
    "params": {
      "updateFields": ["f1", "f2"]
    }
  }
}

2.2 查询 reindex任务执行

GET _tasks?actions=*reindex*

{
  "nodes" : {
    "111" : {
      "name" : "11111",
      "transport_address" : "127.0.0.1:9300",
      "host" : "127.0.0.1",
      "ip" : "127.0.0.1:9300",
      "roles" : [
        "ingest",
        "master",
        "data",
        "ml"
      ],
      "attributes" : {
        "ml.machine_memory" : "16655953920",
        "xpack.installed" : "true",
        "ml.max_open_jobs" : "20"
      },
      "tasks" : {
        "LrCxElELQGqRNI4tok60ug:225074201" : {
          "node" : "LrCxElELQGqRNI4tok60ug",
          "id" : 225074201,
          "type" : "transport",
          "action" : "indices:data/write/reindex",
          "start_time_in_millis" : 1624954354511,
          "running_time_in_nanos" : 438795513169,
          "cancellable" : true,
          "headers" : { }
        }
      }
    }
  }
}

以上是关于elasticsearch进阶—— reindex的主要内容,如果未能解决你的问题,请参考以下文章

java.lang.NoSuchMethodError: 'org.elasticsearch.core.TimeValue org.elasticsearch.index.reindex.BulkB

Elasticsearch:Reindex API 使用和故障排除的 3 个实践

ES重建索引(reindex)性能优化建议

无法在 JHipster 4.8.2 上安装 Elasticsearch Reindexer 1.0.1

elasticsearch之解除索引只读问题filtersort解除索引最大查询数的限制reindex迁移数据boost条件权重控制

Elasticsearch 有没有比 reindex 更轻量级的更换字段类型的方式?