云日志服务 LTS-映射富化函数:e_search_dict_map

时间:2025-02-12 15:14:37

e_search_dict_map

对关键字(查询字符串)以及其匹配的值的字典数据进行映射。

  • 函数格式
    e_search_dict_map(data, output_field, multi_match=false, multi_join=" ", missing=None, mode="overwrite")
  • 参数说明

    参数名称

    数据类型

    是否必填

    说明

    data

    Dict

    映射关系的字典。必须为标准的{key01:value01,key01:value02,...}格式,且关键字key必须是查询字符串。

    output_field

    String

    输出字段的名称。

    multi_match

    Boolean

    是否允许匹配多个字段。默认为false表示不匹配多个字段,会返回匹配到的最后一个字段值。支持使用multi_join拼接多个匹配的值。

    multi_join

    String

    匹配多个字段时,多值的连接字符串,默认为空格。当multi_match值为true时生效。

    missing

    String

    无匹配字段时,将该参数的取值赋给输出字段output_field。默认为None表示不做映射赋值操作。

    如果字典中包含默认匹配星号(*),由于星号(*)的优先级高于missing,此时missing将不起作用。

    mode

    String

    字段的覆盖模式。默认为overwrite。

  • 返回结果

    返回查询匹配中后的映射结果。

  • 函数示例
    1. 示例1:匹配模式。
      • 测试数据
        { "data":123 , "pro":1}
      • 加工规则
        e_search_dict_map ({"pro==1": "TCP", "pro==2": "UDP", "pro==3": "HTTP"}, "protocol")
      • 加工结果
        data:123 pro:1 protocol:TCP
    2. 示例2:根据字段值的不同开头进行映射。
      • 测试数据
        { "status":"200,300"}
      • 加工规则
        e_search_dict_map(    {        "status:2??": "ok",        "status:3??": "redirect",        "status:4??": "auth",        "status:5??": "server_error",    },    "status_desc",    multi_match=true,    multi_join="测试",)
      • 加工结果
        status:200,300 status_desc:ok测试redirect
  • 更多参考

    支持和其他函数组合使用。

support.huaweicloud.com/usermanual-lts/lts_07_0161.html