联接脚本中的字段

时间:2019-03-29 08:16:36

标签: elasticsearch

我们的索引有一个联接字段(具有许多子项的父文档)。我们希望搜索子项,并使用过滤器将父文档中的数字与子文档中的数字相加。 是否可以访问过滤器脚本中的父字段?如果是这样,我们该怎么做?需要最新版本的ES吗?

我们使用ElasticSearch 6.6。我们已经尝试过使用has_parent,inner_hits和script_fields,但是我们无法在同一脚本中访问父级和子级的信息。

1 个答案:

答案 0 :(得分:0)

针对您的子类型执行搜索查询,并使用has_parent过滤父字段

GET data/ChildTypeName/_search
{
  "query": {
    "bool": {
      "filter": {
        "has_parent": {
          "parent_type": "ParentTypeName",
          "query": {
            "match": {
              "my_parent_field": "my_parent_field_value"
            }
          },
          "inner_hits" : {}
        }
      }
    }
  }
}