重新索引具有父子类型的弹性搜索索引

时间:2017-11-12 06:57:05

标签: elasticsearch

问题描述: 我有一个索引(sourceIndex)有两种类型(类型A和类型B),类型A是子类型,类型B是类型A的父类,我碰巧更新sourceIndex中的文档的分析器,所以我创建了#34 ; destinatedIndex"使用新的分析器,现在我想将文件移动到destinationIndex,biut当我使用' ReIndex' Api我得到了以下错误,

{
   "error": {
      "root_cause": [
         {
            "type": "illegal_argument_exception",
            "reason": "Can't specify parent if no parent field has been configured"
         }
      ],
      "type": "illegal_argument_exception",
      "reason": "Can't specify parent if no parent field has been configured"
   },
   "status": 400
}

当源索引ahve父子关系类型时,如何继续将文档从一个索引重新索引到另一个索引,如果我遗漏了任何内容,请告诉我。

谢谢, ķ

1 个答案:

答案 0 :(得分:1)

我想出了一种在上述场景中重新编制索引的方法。

我使用分析器和父子映射(一次创建父类型和子类型)创建了目标索引,然后使用reindex查询从源到目标(新索引)索引重新索引。这样我就能够消除父级 - 儿童关系的复杂性。

谢谢, ķ。