我尝试从远程集群重新索引每日索引,并遵循驯鹿每日索引示例
POST _reindex
{
"source": {
"remote": {
"host": "http://remote_es:9200"
},
"index": "telemetry-*"
},
"dest": {
"index": "dummy"
},
"script": {
"lang": "painless",
"source": """
ctx._index = 'telemetry-' + (ctx._index.substring('telemetry-'.length(), ctx._index.length()));
"""
}
}
看起来,如果新的ctx._index
与原来的ctx._index
完全相同,它将使用dest.index
代替。它将所有记录重新索引为"dummy"。指数
- 这是一个错误还是预期的行为?我找不到任何解释这种行为。
- 是否有一种方法可以从远程重新索引(多个索引),并且仍然保留原始名称?
这是因为根据您的逻辑,目标索引名称与源索引名称相同。在您所链接的文档中,他们在索引名称的末尾附加了'-1'
。
在您的示例中,下面的逻辑只是将目标索引名称设置为源索引名称,而reindex不允许这样做,因此它使用dest.index
ctx._index = 'telemetry-' + (ctx._index.substring('telemetry-'.length(), ctx._index.length()));
同样值得注意的是,这种情况在这里和这里都有报道。