我是ElasticSearch的新手。我必须将索引从一个ElasticSearch服务器复制到另一个ES服务器,并且必须在将某些字段值插入目标服务器之前更新它们。我发现我们可以使用elasticdump npm包,但没有找到如何使用elasticdump包提供的transform选项的示例。有人能提供使用transform的示例吗
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" } }
1条答案
按热度按时间3mpgtkmj1#
使用Elasticdump,您可以将数据从一个集群迁移到另一个集群。您还可以使用Logstash或远程重新索引API。但是,使用Elasticdump无法在迁移过程中操作数据。
您可以使用ingest_pipeline,并在目标集群中建立索引时接收数据。
我建议您像下面这样使用remote reindex和ingest_pipeline。
重新索引数据