我正在使用Elasticsearch 1.7.5版。在我升级到2.x版(甚至5.x版)之前,我需要重新索引五个大型索引,使它们符合2.x标准。
不幸的是,由于this problem,Logstash(和滚动API)无法重新索引我的数据。
我的问题:
答案 0 :(得分:1)
如果您的目标是Elasticsearch 5.0+,则可以使用reindex API将数据从远程Elasticsearch集群(1.7.5集群)重新索引到Elasticsearch 5.0 +。
NEST 5.x将reindex API公开为ReindexOnServer()
方法
client.ReindexOnServer(r => r
.Source(s => s
.Remote(sr => sr
// URI to 1.7.5 cluster
.Host(new Uri("http://localhost:9201"))
)
.Index("entries")
)
.Destination(d => d
.Index("entries")
)
.WaitForCompletion(true)
);
WaitForCompletion
确定呼叫是否应等待reindex完成。如果这是错误的,则响应中的Task
属性可用于使用tasks API