1
我有一个嵌套数据类型的查询,并希望返回嵌套数据类型的统计聚合(由查询过滤)。下面是代码:Elasticsearch范围嵌套聚合到查询
GET dan-created/_search
{
"_source" : ["m_iID", "m_iYear"],
"query": {
"nested": {
"path": "m_PeopleList",
"query": {
"match": {
"m_PeopleList.name": "Daniel"
}
},
"inner_hits" : {}
}
},
"aggregations" : {
"people" : {
"nested" : {
"path" : "m_PeopleList"
},
"aggregations" : {
"averageDist": {
"stats" : {
"field":"m_PeopleList.value"
}
}
}
}
}
}
返回的统计数据是整个索引,但我希望他们只返回从上面的查询匹配。我在其他地方看到过这方面的例子,但没有看到最新版本的elasticsearch,我似乎无法让它们工作。
感谢, 丹尼尔
是,这个工程,我想。我原以为会有办法做到这一点,而不必指定过滤器查询两次。但我看到,如果你只是想要聚合,你可以删除查询部分并添加“大小”:0。谢谢! – danieljames
如果没有嵌套文档,您只能定义一次过滤器。 但由于聚合和查询不共享相同的'nested'子句,所以必须定义两次(大小为!= 0) – ulric260