我可以在has_child脚本过滤器中访问父文档属性吗?

时间:2016-06-17 21:08:57

标签: elasticsearch

我需要在弹性搜索查询中将子属性与父属性进行比较。基本上我希望所有没有孩子的父母都有某些特性。像这样(但这不起作用):

query: {
  filtered: {
    filter: {
      bool: {
        must_not: [
          {
            has_child: {
              type: 'child_type',
              query: {
                filtered: {
                  query: {
                    match_all: {}
                  },
                  filter: {
                    bool: {
                      must: [
                        {
                          script: {
                            script: "doc['field1'].value < parent['parent_field1'].value"
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        ]
      }
    },
    query: {
      match_all: {}
    }
  }
}

我可以访问doc [&#39; _parent&#39;]但这只是父级的ID。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

答案是否定的。从孩子的上下文中访问另一个文档(父母)是非常昂贵的。我使用两个单独的查询解决了我的问题。