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

如何在Kibana Discover中按指定字段的数组大小过滤文档?

Kibana Discover 筛选数组长度大于指定值的Lucene查询方案

基础语法(适用于ES 6.5+、普通数组类型)

直接在Kibana Discover的查询输入框使用以下格式的Lucene语句即可:
[数组字段名]._count:[阈值比较符][阈值数值]

示例1:筛选tags数组长度大于等于3的文档
tags._count:>=3
示例2:筛选order_items数组长度等于5的文档
order_items._count:5


特殊场景处理

场景1:嵌套对象数组查询

如果要统计的是嵌套(nested)类型的数组长度,原生_count语法不生效,需要在Discover添加脚本过滤器:

  • 点击Discover查询栏右侧的「Add filter」
  • 筛选条件选择「Edit as Query DSL」
  • 输入以下DSL,替换对应字段和阈值即可:
{
  "script": {
    "script": "doc['your_nested_field'].size() > 4"
  }
}

场景2:ES版本低于6.5

低版本ES不支持_count语法,统一使用上述脚本过滤器的方式实现即可。

注意事项

  • 统计长度的数组字段不能是text类型,text类型分词后返回的是分词后的词项数量,不是原始数组的长度,需要使用keyword、数值、嵌套对象等类型的数组
  • 查询前可先在Kibana的Index Pattern设置页确认目标字段的类型识别是否正确

内容的提问来源于stack exchange,提问作者kaki gadol

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:54:01