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

标签 elasticsearch

我需要在我的 elasticsearch 查询中比较子属性和父属性。本质上,我希望所有没有 child 的 parent 都具有某些属性。像这样(但这不起作用):

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['_parent'] 但这只是父项的 ID。有什么想法吗?

最佳答案

答案是否定的。从子上下文中访问另一个文档(父文档)的成本会高得令人望而却步。我使用两个单独的查询解决了我的问题。

关于elasticsearch - 我可以在 has_child 脚本过滤器中访问父文档属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37890396/

相关文章:

elasticsearch - 如何在不通过 tls 传递 -k 的情况下 curl elasticsearch kubernetes 运算符?

elasticsearch - Filebeat 6.1.0 和 exclude_lines 选项

elasticsearch - 如何在Elasticsearch中创建Kibana索引

couchdb - 使用CouchDB river插件进行 Elasticsearch -找不到任何文档

elasticsearch - Elasticsearch嵌套搜索-不得包含

elasticsearch - ES7 - 如何建模 1-n 父子关系 - 不同的 ES 类型

elasticsearch - 带频率计数的前缀搜索

elasticsearch - 如何在Elasticsearch中进行部分搜索并获得相关分数

java - Elasticsearch High Level Rest Client - 带有类型(子)字段的 Java map - 日期、数字等

ElasticSearch 无法解析映射