我需要在弹性搜索查询中将子属性与父属性进行比较。基本上我希望所有没有孩子的父母都有某些特性。像这样(但这不起作用):
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。有什么想法吗?
答案 0 :(得分:2)
答案是否定的。从孩子的上下文中访问另一个文档(父母)是非常昂贵的。我使用两个单独的查询解决了我的问题。