我有带有旧映射的旧索引。我需要一个新的映射。所以我必须创建新的索引,原因映射无法更改。
我的问题是如何将数据从旧索引/映射传输和转换到新索引/映射?
例如我有一个结构:
{
...
"a",
"b"
}
但是新的映射是:
{
"c": {
"a",
"b"
}
}
我检查了这个article。但是没有有关数据转换的信息。
最佳答案
您可以使用reindex Api。该API支持脚本可以转换文档。文档中的示例:
{
"source": {
"index": "twitter"
},
"dest": {
"index": "new_twitter"
},
"script": {
"inline": "if (ctx._source.foo == 'bar') {ctx._version++; ctx._source.remove('foo')}",
"lang": "painless"
}
}
在脚本中,您可以根据需要转换源文档。
关于elasticsearch - elasticsearch-创建新的映射并将数据从旧的映射数据转换为新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44451803/