我有两个名为&#34的指数;骑"和" audit_log" audit_log是乘车的孩子。我需要根据某些条件从audit_log表(索引)中获取平均时间戳。条件跨越父母和孩子。我试图执行的查询是:
curl -XGET' http://localhost:9200/rides/audit_log/_search' -d
{
"size":0,
"query":{
"has_parent":{
"parent_type":"ride",
"query":{
"match":{
"ride_status":"Ride Completed"
}
}
},
"match":{
"status":"Driver Confirmed"
}
},
"aggs":{
"avg_time":{
"avg":{
"field":"createdAt"
}
}
}
}
这里ride_status来自父表骑。
并且,我从这个api点击中得到以下错误:
[has_parent]格式错误的查询,预期[END_OBJECT]但找到了 [FIELD_NAME]""线":1," COL":107
答案 0 :(得分:0)
尝试使用term
代替match
。
{
"size":0,
"query":{
"has_parent":{
"parent_type":"ride",
"score" : true, <---- add this
"query":{
"term": {
"ride_status":"Ride Completed"
}
}
},
"term": {
"status":"Driver Confirmed"
}
},
"aggs":{
"avg_time":{
"avg":{
"field":"createdAt"
}
}
}
}