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

基于Terms Query by index的Kibana仪表盘可视化创建问题

解决方案:基于跨索引Terms Query的Kibana仪表盘可视化

问题1:将Discover中的DSL过滤应用到可视化

你可以通过保存查询的方式把Discover里的过滤逻辑复用在可视化中:

  • 在Discover页面,确认DSL过滤生效后,点击顶部的「保存」按钮,给这个查询命名(比如「Dev环境关联Test类型数据」)。
  • 创建/编辑可视化时,在「数据源」区域选择「已保存的查询」,选中你刚才保存的查询即可。
  • 若需直接在可视化中编写DSL,确保跨索引terms查询的参数(index、id、path)与主索引字段匹配,同时确认Kibana具备访问test-type-index的权限。

你的原始DSL如下:

{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "test.type.name": {
              "index": "test-type-index",
              "id": "unit-test",
              "path": "type.name"
            }
          }
        },
        {
          "term": {
            "test.env": {
              "value": "dev"
            }
          }
        }
      ]
    }
  }
}

问题2:创建ID选项列表并关联type.name过滤

通过Kibana的控制面板和查询变量实现联动过滤:

  1. 添加ID下拉列表控制面板
    • 进入仪表盘编辑页,添加「控制面板」组件,选择「下拉列表」类型。
    • 数据源选择test-type-index,字段选择_id,下拉列表会自动加载该索引下所有文档的ID(如示例中的unit-test)。
  2. 创建查询变量提取type.name值
    • 进入「Stack Management」→「变量」→「创建变量」,类型选「查询」。
    • 查询语句填写(替换${id-control}为你刚才创建的下拉列表名称):
      {
        "query": {
          "match": {
            "_id": "${id-control}"
          }
        },
        "size": 1,
        "_source": ["type.name"]
      }
      
    • 在「提取」设置中填写_source.type.*.name,将选中ID对应的所有type.name值提取为数组。
  3. 在目标可视化中应用变量过滤
    • 编辑目标可视化,添加过滤条件:选择「terms」查询,字段为test.type.name,值选择你创建的查询变量。
    • 可额外添加test.env: dev的过滤条件,限定环境范围。

补充说明

  • 确保test-type-index的type.name字段映射为可搜索类型(如text或keyword)。
  • 若下拉列表未显示ID,检查该索引的_id字段是否在Kibana索引模式中被设置为可显示字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:45:16