假设A是父类型,B是子类型。
现在B有一个名为' event'。
的字段在时间t1,B1(a' B'类型doc)用字段'事件'索引。 =对某些父母的成功' A1'。现在在时间t2,另一个文档B2被索引为'事件' =对同一父母失败' A1'。
我要做的就是找到所有没有孩子的父母,或者只有'事件' =成功的孩子(不是一个'事件' =失败的孩子)。这可能吗?
我能看到的一个解决方案是,只要' event' =包含doc的事件被索引,就会用一些标志更新我的父(A1)。但我的B类文档也有一个ingestion_time字段。所以我想找到父母,他们从来没有在给定的时间范围内失败包含孩子。
答案 0 :(得分:0)
尝试此查询
{
"query": {
"bool": {
"must_not": {
"has_child": {
"type": "b",
"query": {
"term": {
"event": "fail"
}
}
}
}
}
}
}
它应该排除所有拥有fail
字段值