elasticsearch - elasticsearch-创建新的映射并将数据从旧的映射数据转换为新的

标签 elasticsearch

我有带有旧映射的旧索引。我需要一个新的映射。所以我必须创建新的索引,原因映射无法更改。

我的问题是如何将数据从旧索引/映射传输和转换到新索引/映射?

例如我有一个结构:

{
...
"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/

相关文章:

java - 根据重复嵌套类型获取重复文档

elasticsearch - 使用基数,但尝试查找总长度

elasticsearch - 带URL路径的elasticsearch传输客户端

elasticsearch - ElasticSearch搜索查询中的多个条件

elasticsearch - elasticsearch edge n-gram token 生成器:在 token 中包含符号

date - Kibana 4不是可视化菜单中的好日子

elasticsearch - 分片和副本的数量对磁盘大小有影响吗?

elasticsearch - Elasticsearch结合了多种条件并按得分排序

c# - ElasticSearch NEST OR查询

mysql - 我该怎么做才能从 mysql 到 elasticsearch 进行实时更新