我有一个 60 位(一小时中的分钟数)字段,我想使用按位or
运算符进行聚合,以便如果任何贡献值都设置了该位,则最终结果是一个位设置。
位字段的表示尚未确定,但最好让它有点紧凑,因为有很多记录进入聚合。
假设我们有三个文档,其中一个位域采用二进制值:0001
, 1001
, 1100
. 逐位or
聚合会将它们组合到值1101
- 如果该位设置为任何值,则该位为真。很像求和聚合,而是按位运算。
我考虑过一个位位置数组(如果设置了位,则位置存在),但它有点冗长。
脚本化的度量聚合是可能的,但我有点不知道如何实现它。
脚本化的度量 agg 看起来像这个破碎的无痛代码:
"aggs": {
"profit": {
"scripted_metric": {
"init_script": "minagg = 0L",
"map_script": "minagg = minagg | minutes",
}
}
}
感谢您的关注。