父-子关系文档映射edit

建立父-子文档映射关系时只需要指定某一个文档类型(type)是另一个文档类型(type)的父亲。 这个关系必须在创建索引时完成,或者在创建子类型之前使用update-mappingAPI完成。

比如,假设我们有一家公司在许多城市都有分公司。 我们希望雇员与他们工作的分公司相关联。 我们需要能够搜索分公司、单个员工以及为特定分公司工作的员工,此时嵌套模型就无能无力了。 当然,我们可以在这里使用应用层联接(application-side-joins)去规范化数据(data denormalization),但出于演示目的,我们将使用父-子关系。

我们需要告诉Elasticsearch,在创建员工employee文档类型type时,指定分公司branch的文档类型type为其父亲。

PUT /company
{
  "mappings": {
    "branch": {},
    "employee": {
      "_parent": {
        "type": "branch" 
      }
    }
  }
}

employee文档是branch文档的子文档。