我正在尝试根据孩子中的匹配来查找父母,并为匹配检索孩子的术语聚合。出于某种原因,用于孩子聚合的桶计数显示出比实际结果更高的计数(如果它在特定的子桶中显示父母或孩子的计数,我会很高兴)。
该查询类似于以下内容(注意:我使用过滤的查询,因为我稍后将在查询之外添加一个过滤器):
{
"query" : {
"filtered" : {
"query" : {
"has_child" : {
"type" : "blog_tag",
"query" : {
"filtered" : {
"query" : {
"term" : {
"tag" : "something"
}
}
}
}
}
}
},
"aggs" : {
"my_children" : {
"children" : {
"type" : "my_child_type"
},
"aggs" : {
"field_name" : {
"terms" : {
"field" : { "blog.blog_tag.field_name" }
}
}
}
}
} }
正确的方法是什么?
发布于 2015-08-14 20:24:55
正如评论中所指出的那样,这是一个问题。解决方案是使用查询过滤聚合,
"query" : {
"filtered" : {
"query" : {
"has_child" : {
"type" : "blog_tag",
"query" : {
"filtered" : {
"query" : {
"term" : {
"tag" : "something"
}
}
}
}
}
}
},
"aggs" : {
"my_children" : {
"children" : {
"type" : "my_child_type"
},
"aggs" : {
"results" : {
"filter" : {
"query" : {
"filtered" : {
"query" : {
"term" : {
"tag" : "something"
}
}
}
}
},
"aggs" : {
"field_name" : {
"terms" : {
"field" : { "blog.blog_tag.field_name" }
}
}
}
}
}
}
}https://stackoverflow.com/questions/31978202
复制相似问题