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

如何在OpenSearch数据表中拆分Message字段提取dataB值?

从OpenSearch的Message字段提取dataB值的方法

由于你仅能使用可视化功能,且无法直接访问dataB字段,可通过以下两种方式实现提取:

方法一:创建脚本字段(Discover与可视化通用)

  1. 进入Discover视图,点击顶部「管理索引模式」
  2. 找到目标索引模式,切换到「脚本字段」标签页
  3. 点击「添加脚本字段」,按以下配置设置:
    • 字段名:dataB
    • 语言选择「Painless」
    • 脚本内容:
      String msg = doc['Message'].value;
      Pattern p = Pattern.compile("dataB\\s*=\\s*(\\w+)");
      Matcher m = p.matcher(msg);
      return m.find() ? m.group(1) : null;
      
    • 字段类型选「字符串」(若valueB是数字,选对应数值类型)
  4. 保存后,返回Discover或可视化界面,就能直接使用新生成的dataB字段

方法二:可视化内临时正则提取(无需创建永久字段)

如果不想生成永久字段,可在可视化配置中临时提取:

  1. 创建目标可视化(如表格、柱状图),进入「数据」配置页
  2. 添加「指标」或「分桶」,选择「自定义公式」(部分可视化类型支持)
  3. 输入提取脚本,示例:
    extract(doc['Message'].value, /dataB\s*=\s*([^,]+)/, 1)
    
    ([^,]+用于匹配到下一个逗号前的内容,可根据valueB实际格式调整正则)
  4. 给这个提取结果命名为dataB,即可在可视化中直接使用

注意事项

  • 若valueB包含空格或特殊字符,需调整正则表达式的匹配规则
  • 确保你的账号权限允许执行Painless脚本,部分环境可能会限制脚本运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 07:12:03