You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kibana visualize模块如何统计TradeInfoList数组长度并求和展示

操作方案

第一步:创建长度统计字段

之前脚本字段执行失败大概率是语法错误或者用了已废弃的旧特性,推荐用新版本Kibana支持的运行时字段实现,操作如下:

  • 进入Kibana左侧菜单「Stack Management」→「Index Patterns」,选中你要统计的索引模式
  • 点击右上角「Add field」按钮,字段类型选择Long,开启「Set value」开关
  • 在脚本输入框填入如下Painless代码:
// 非嵌套数组用这个脚本
if (doc.containsKey('TradeInfoList') && doc['TradeInfoList'].size() != null) {
  emit(doc['TradeInfoList'].size());
} else {
  emit(0);
}

// 如果TradeInfoList是nested嵌套类型,改用下面的脚本
// if (doc.containsKey('TradeInfoList') && !doc['TradeInfoList'].empty) {
//   emit(doc['TradeInfoList'].size());
// } else {
//   emit(0);
// }
  • 自定义字段名,比如trade_info_list_length,点击保存即可

如果你用的是7.x之前没有运行时字段的旧版本,在脚本字段设置里填入对应Painless代码返回长度即可。

第二步:可视化统计总和

  • 新建Metric类型的可视化(也可以选你需要的其他图表类型),选择对应索引模式
  • 聚合方式选择Sum,字段选择刚才创建的trade_info_list_length
  • 点击应用更新,即可得到所有文档的TradeInfoList数组长度总和,你举的示例场景会直接显示为5
性能优化建议

如果你的索引数据量较大,不推荐长期用运行时/脚本字段统计,建议在数据写入ES时就直接把数组长度作为普通整型字段写入,查询效率会高很多。


内容的提问来源于stack exchange,提问作者笑问苍天

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:45:11