【发布时间】:2021-01-11 05:24:42
【问题描述】:
假设我有 5 个文档:
{
"owner": "joe",
"color": "black"
},
{
"owner": "joe",
"color": "red"
},
{
"owner": "joe",
"color": "blue"
},
{
"owner": "jack",
"color": "black"
},
{
"owner": "jack",
"color": "white"
}
和聚合:
{
aggs: {
owner: {
"terms": {
"field": "owner"
}
},
color: {
"terms": {
"field": "color"
}
}
}
}
按所有者和颜色汇总文档。
如果我运行匹配我得到的所有查询:
owner
joe: 3
jack: 2
color
black: 2
red: 1
blue: 1
white: 1
我想要实现的是:如果我通过 owner: joe 过滤文档,我想获得 3 个文档,其中 owner 是 joe,颜色聚合:
color
black: 1
red: 1
blue: 1
但我想获得 owner 聚合:
owner
joe: 3 [selected]
jack: 2 [possible to extend]
所以得到可以选择的其他桶的数量来扩展最终结果。所以像桶之间的“或”之类的东西。
我怎样才能做到这一点?
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation