我需要在我的 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/