假设我有两个aggs:
GET .../_search
{
"size": 0,
"aggs": {
"foo": {
"terms": {
"field": "foo"
}
},
"bar": {
"terms": {
"field": "bar"
}
}
}
}
返回以下内容:
...
"aggregations": {
"foo": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Africa",
"doc_count": 23
}
]
},
"bar": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Oil",
"doc_count": 23
}
]
}
}
我的问题是,我怎么知道" foo"one_answers" bar" aggs是否汇总了相同的23个文档?
我尝试在" foo"one_answers" bar" agg中添加子agg以概括一个任意数字字段,但这并不是遥不可及的。
您可以添加一个汇总文档身份字段的子聚集,您可以用术语或复合汇总来执行此操作。使用术语时,您需要提供尺寸。请参阅此示例:
GET .../_search
{
"size": 0,
"aggs": {
"foo": {
"terms": {
"field": "foo"
},
"aggs" : {
"terms" : {
"field" : your_id_here
}
}
},
"bar": {
"terms": {
"field": "bar"
},
"aggs" : {
"terms" : {
"field" : your_id_here
}
}
}
}
}
您需要比较嵌套的聚合。
另一种方法是仅使用搜索查询过滤所需的文档。