重新索引并更新联接字段

时间:2019-02-20 16:34:13

标签: elasticsearch

INTRO

我有IndexA,没有任何join字段,我想添加一个。

为此,我创建了带有扩展映射的IndexB,其中包括一个新字段。我正在尝试将IndexA重新编入IndexB

问题

如何通过重新索引将IndexB中的每个文档更新为父文档?

this示例中,为了使文档成为父文档,必须像这样设置连接字段:

"my_join_field": {
  "name": "question" 
}

question是已定义关系中的父类型

1 个答案:

答案 0 :(得分:0)

找到了解决方案:

POST _reindex
{
  "source": {
    "index": "IndexA"
  },
  "dest": {
    "index": "IndexB",
    "routing": "=1"
  },
   "script": {
    "source": "ctx._source.my_join_field = params.j",
    "params": {
         "j": {
            "name" : "parent_relationship_name"
         }
      },
    "lang": "painless"
  }
}