有没有一种方法可以使用parent / grandparentID查询所有子级和孙级文档?

时间:2019-09-12 10:56:12

标签: elasticsearch

我有以下情况: 我正在创建称为公司的索引,我正在其中创建多级关系

         company
            |
    |---------------|
department       supplier
    |
employee

我创建了以下映射:

PUT /company
{
  "mappings": {
    "_doc":{
      "properties":{
        "join_field":{
          "type":"join",
          "relations":{
            "company": ["supplier", "department"],
            "department": "employee"
          }
        }
      }
    }
  }
}

我可以使用父ID(公司ID)查询公司下的所有部门

GET /company/_doc/_search
{
    "query":{
      "parent_id":{
        "type":"department",
        "id":1
      }
    }
}

我还可以查询公司部门下的所有员工

GET /company/_doc/_search?routing=1
{
  "query":{
    "has_parent":{
      "parent_type":"department",
      "query":{
        "term":{
          "name.keyword":"Development"
        }
      }
    }
  }
}

最后,我的问题是,如何在单个查询中查询公司的所有部门和员工,而不是获取所有部门并使用这些部门来获取员工? 注意:我正在使用elastic search 7+版本

0 个答案:

没有答案