Jus*_*tin 4 aggregation elasticsearch
我的文件看起来像这样:
{
"clientId": "FPIev_86RwB",
"viewId": "FPIewF1aRyU",
"sessionId": "FPIewE16Rxu",
"trackingId": "FPIewHfaRx9",
"type": "view",
"intVal": [
21,
72,
37
]
}
Run Code Online (Sandbox Code Playgroud)
我想对一组文档中的数组的一个索引进行不同的聚合(例如 sum 或 avg)。但是,我似乎无法像在对象上指定字段一样指定索引。这是我尝试过的:
{
"size": 0,
"aggs": {
"avg_1": {
"avg": {
"field": "intVal.1"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我尝试选择字段的索引,intVal.1但这不起作用。我有可以添加到数组中的可变数量的值,但是特定索引位置中的值都是相同的,所以我想对数组索引进行聚合。我有什么办法可以让这项工作成功吗?
我找到了使用脚本的解决方案。查询如下所示:
{
"size": 0,
"aggs": {
"avg_1": {
"avg": {
"script": "doc['intVal'][1].value"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |