elasticsearch 弹性转储变换

fwzugrvs  于 2023-01-29  发布在  ElasticSearch
关注(0)|答案(1)|浏览(130)

我是ElasticSearch的新手。我必须将索引从一个ElasticSearch服务器复制到另一个ES服务器,并且必须在将某些字段值插入目标服务器之前更新它们。我发现我们可以使用elasticdump npm包,但没有找到如何使用elasticdump包提供的transform选项的示例。有人能提供使用transform的示例吗

3mpgtkmj

3mpgtkmj1#

使用Elasticdump,您可以将数据从一个集群迁移到另一个集群。您还可以使用Logstash或远程重新索引API。但是,使用Elasticdump无法在迁移过程中操作数据。
您可以使用ingest_pipeline,并在目标集群中建立索引时接收数据。
我建议您像下面这样使用remote reindex和ingest_pipeline。

    • 一个
PUT _ingest/pipeline/my-pipeline
{
  "processors": [
    {
      "set": {
        "field": "my-long-field",
        "value": 10
      }
    },
    {
      "set": {
        "field": "my-boolean-field",
        "value": true
      }
    },
    {
      "lowercase": {
        "field": "my-keyword-field"
      }
    }
  ]
}

重新索引数据

POST _reindex
{
  "source": {
    "remote": {
      "host": "http://otherhost:9200",
      "username": "user",
      "password": "pass"
    },
    "index": "my-index-000001"
  },
  "dest": {
    "index": "my-new-index-000001",
    "pipeline": "my-pipeline"
  }
}

相关问题