日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

事件檢查函數

本文介紹事件檢查函數的語法規則,包括參數解釋、函數示例等。

函數列表

類型

函數

說明

基本方法

e_has

判斷日志字段是否存在。

e_not_has

判斷日志字段是否存在。

支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

表達式函數

e_search

提供一種簡化,類似Lucene語法的事件搜索方式。

支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_match

判斷當前日志字段的值是否滿足正則表達式。

支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_match_any

判斷當前日志字段的值是否滿足正則表達式,任意字段匹配返回True,否則返回False。

e_match_all

判斷當前日志字段的值是否滿足正則表達式,所有字段匹配返回True,否則返回False。

同時,事件檢查函數可以與如下表達式函數配合使用:

類型

函數

說明

基本判斷

op_and

邏輯and運算。

op_or

邏輯or運算。

op_not

邏輯not運算。

op_nullif

判斷兩個表達式的取值。

op_ifnull

返回第一個值不為None的表達式的值。

op_coalesce

返回第一個值不為None的表達式的值。

e_has

判斷字段是否存在。

  • 函數格式

    e_has("key")
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    key

    String

    日志的字段名。

  • 返回結果

    字段存在返回True,不存在返回False。

  • 函數示例

    判斷日志是否存在content字段,存在則保留,不存在則丟棄。

    • 原始日志

      content: 123
    • 加工規則

      e_keep(e_has("content"))
    • 加工結果

      content: 123

e_not_has

判斷字段是否不存在。

  • 函數格式

    e_not_has("key")
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    key

    String

    字段名稱。

  • 返回結果

    字段不存在返回True,存在返回False。

  • 函數示例

    判斷日志是否存在content字段,不存在則保留該日志,否則丟棄該日志。

    • 原始日志

      content: 123
    • 加工規則

      e_if_else(e_not_has("content"),KEEP,DROP)
    • 加工結果

      日志被丟棄。

  • 更多參考

    支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_search

提供一種簡化,類似Lucene語法的事件搜索方式。

  • 函數格式

    e_search(querystring)
  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    querystring

    String

    查詢字符串,用于快速過濾日志的查詢字符串。更多信息,請參見查詢字符串語法

  • 返回結果

    滿足條件返回True,否則返回False。

  • 函數示例

    # 全文
    e_search("active error")     # 全文:兩個子串是OR關系,進行搜索。
    e_search('"active error"')   # 全文:一個子串搜索。
    
    # 字段:字符串
    e_search("status: active")         # 單詞搜索。
    e_search('author: "john smith"')   # 帶空格子串搜索。
    e_search('field: active error')   # 相當于field:active OR "error"。
    
    # 完全匹配
    e_search('author== "john smith"')  
    
    # 通配符搜索,星號(*)匹配零個或多個字符,半角問號(?)匹配一個字符。
    e_search("status: active*test")    # active*test中僅包含星號(*),可以不使用雙引號("")包裹。
    e_search("status: active?good")    # active?good中僅包含半角問號(?),可以不使用雙引號("")包裹。
    e_search("status== ac*tive?good")  # 完全匹配。
    
    # 搜索值轉義,星號(*)或問號(?)需要使用反斜線(\)轉義。
    e_search('status: "\*\?()[]:="')  # \*\?()[]:=中包含特殊字符,需要使用雙引號("")包裹,除了星號(*)、半角問號(?)和反斜線(\)需要轉義外,其他不用轉義。
    e_search("status: active\*test")  # active\*test中僅包含星號(*),可以不使用雙引號("")包裹。
    e_search("status: active\?test")  # active\?test中僅包含半角問號(?),可以不使用雙引號("")包裹。
    
    # 字段名轉義
    e_search("\*\(1+1\)\?: abc")                  # 字段名不能用雙引號("")包裹,特殊字符用反斜線(\)轉義。
    e_search("__tag__\:__container_name__: abc")  # 用反斜線(\)轉義。
    e_search("中文字段: abc")                     # 直接寫中文。
    
    # 正則匹配
    e_search('content~="正則表達式"')   # 正則匹配。
    
    # 數字
    e_search('count: [100, 200]')   # >=100 and <=200
    e_search('count: [*, 200]')     # <=200
    e_search('count: [200, *]')     # >=200
    e_search('age >= 18')           # >= 18
    e_search('age > 18')            # > 18
    
    # 使用關系運算符
    e_search("abc OR xyz")    # 關系運算符不區分大小寫,OR和or效果一樣。
    e_search("abc and (xyz or zzz)")
    e_search("abc and not (xyz and not zzz)")
    e_search("abc && xyz")    # and
    e_search("abc || xyz")    # or
    e_search("abc || !xyz")   # or not
  • 更多參考

    支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_match

判斷當前日志字段的值是否滿足正則表達式。

  • 函數格式

    e_match(key, regular_expression, full=True)
    說明

    e_match函數通常與op_notop_and或者op_or結合使用。

  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    key

    String

    字段名。當字段不存在時,視為當前子條件不匹配。

    例如:字段f1不存在,那么e_match("f1", ...)結果為False

    regular_expression

    String

    正則表達式。如果需要使用純粹字符串匹配時(非正則表達式),可以使用函數str_regex_escape修飾正則表達式。

    full

    Bool

    是否完全匹配,默認為True表示完全匹配。關于匹配模式請參見正則表達式

  • 返回結果

    返回字段匹配的判斷結果True或False。

  • 函數示例

    判斷字段k1的值是否為數字。

    • 原始日志

      k1: 123
    • 加工規則

      e_set("match",e_match("k1",r'\d+'))
    • 加工結果

      k1: 123
      match: True
  • 更多參考

    支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_match_any

判斷當前日志字段的值是否滿足正則表達式,任意字段匹配返回True,否則返回False。

  • 函數格式

    e_match_any(key1, regular_expression1, key2, regular_expression2, ..., full=True)
    說明
    • 函數中keyregular_expression必須成對出現。

    • e_match_any函數通常與op_notop_and或者op_or結合使用。

  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    key

    String

    字段名。當字段不存在時,視為當前子條件不匹配。

    例如:字段f1不存在,那么e_match_any("f1", ...)結果為False

    regular_expression

    String

    正則模式。如果需要使用純粹字符串匹配時(非正則),可以使用函數str_regex_escape修飾正則。

    full

    Bool

    是否完全匹配,默認為True表示完全匹配。關于匹配模式請參見正則表達式

  • 返回結果

    返回字段匹配的判斷結果True或False。

  • 函數示例

    e_match_any匹配,任意字段匹配則返回True。

    • 原始日志

      k1: 123
      k2: abc
      k3: abc123
    • 加工規則

      e_set("match",e_match_any('k1', r'\d+', 'k2', '.+'))
    • 加工結果

      k1:123
      k2:abc
      k3:abc123
      match:true
  • 更多參考

    支持和其他函數組合使用。相關示例,請參見調用函數清洗數據

e_match_all

判斷當前日志字段的值是否滿足正則表達式,所有字段匹配返回True,否則返回False。

  • 函數格式

    e_match_all(key1, regular_expression1, key2, regular_expression2, ..., full=True)
    說明
    • 函數中keyregular_expression必須成對出現。

    • e_match_all函數通常與op_notop_and或者op_or結合使用。

  • 參數說明

    參數名稱

    參數類型

    是否必填

    說明

    字段名

    String

    字段名。當字段不存在時,視為當前子條件不匹配。

    例如:字段f1不存在,那么e_match_all("f1", ...)結果為False

    正則

    String

    正則模式。如果需要使用純粹字符串匹配時(非正則),可以使用函數str_regex_escape修飾正則。

    full

    Bool

    是否完全匹配,默認為True表示完全匹配。關于匹配模式請參見正則表達式

  • 返回結果

    返回字段匹配的判斷結果True或False。

  • 函數示例

    • 原始日志

      k1: 123
      k2: abc
      k3: abc123
    • 加工規則

      e_set("match", e_match_all("k1", r"\d+", "k2", r"\d+"))
    • 加工結果

      k1:123
      k2:abc
      k3:abc123
      match:false
  • 更多參考

    支持和其他函數組合使用。相關示例,請參見調用函數清洗數據