全部產品
Search
文件中心

Cloud Monitor:where(篩選過濾)

更新時間:May 01, 2026

where 節點按條件運算式過濾資料行,僅保留滿足條件的記錄,丟棄不滿足條件的行。

功能說明

where 節點對輸入資料逐行執行條件判斷,保留運算式結果為 true 的行。支援所有布林運算式、比較子和內建函數。

適用情境

  • 過濾低品質資料,如文本過短、欄位為空白。

  • 按業務條件式篩選特定類別的資料。

  • 基於上遊計算結果做條件過濾,如 AI 評分低於閾值的記錄。

節點配置

where 節點的基本配置格式如下:

{
  "id": "node_1",
  "type": "where",
  "parameters": {
    "filter": "<布林運算式>"
  }
}

參數說明

參數

類型

必填

預設值

說明

filter

String

過濾條件運算式,結果須為布爾值。支援 AND/OR/NOT 組合。

支援的運算子=!=><>=<=LIKEINIS NULLIS NOT NULLBETWEENANDORNOT

輸入/輸出

輸入要求

  • 上遊節點輸出的任意列資料。

  • 運算式中引用的欄位必須存在於輸入資料中。

輸出資料行

列名

類型

來源

說明

全部原始輸入列

--

透傳

列結構不變,僅過濾行。

行數變化

M → N(M ≥ N):輸出行數始終小於或等於輸入行數。

使用樣本

樣本 1:按文本長度過濾

僅保留 question 欄位長度大於 10 的記錄:

{
  "id": "n3",
  "type": "where",
  "parameters": {
    "filter": "length(question) > 10"
  }
}

樣本 2:組合條件過濾

同時滿足文本長度和非空條件,過濾掉文本過短或輸出為空白的記錄:

{
  "id": "n3",
  "type": "where",
  "parameters": {
    "filter": "length(question) > 10 AND output IS NOT NULL"
  }
}

樣本 3:基於 AI 評分過濾

以下樣本展示了一個典型的 Pipeline 流程:先使用 project 節點選擇列,再通過 LLM 評估打分,最後用 where 節點過濾掉低分記錄。

{
  "nodes": [
    {
      "id": "n1",
      "type": "project",
      "parameters": { "question": "a", "output": "c" }
    },
    {
      "id": "n2",
      "type": "llm-call",
      "parameters": {
        "prompt": "@eval/prompt.md",
        "fields": "question,output",
        "format": "json",
        "as": "eval"
      }
    },
    {
      "id": "n3",
      "type": "where",
      "parameters": {
        "filter": "json_extract_scalar(eval, '$.score') >= '3'"
      }
    }
  ]
}

樣本 4:基於文檔統計過濾

先計算文檔統計指標,再過濾掉過短的文本。該流程先用 project 節點選擇列,然後使用 doc-stats 節點計算文本統計資訊,最後基於字元長度進行過濾。

{
  "nodes": [
    {
      "id": "n1",
      "type": "project",
      "parameters": { "question": "a", "output": "c" }
    },
    {
      "id": "n2",
      "type": "doc-stats",
      "parameters": { "field": "question" }
    },
    {
      "id": "n3",
      "type": "where",
      "parameters": {
        "filter": "json_extract_scalar(__doc_stats, '$.doc_len_char') > '10'"
      }
    }
  ]
}

注意事項

常用過濾運算式

情境

運算式樣本

過濾 LLM 評估結果

json_extract_scalar(eval, '$.score') >= 4

過濾文本長度

length(question) > 10

複合條件過濾

length(question) > 5 AND category = 'tech'

邊界與異常行為

情境

行為

filter 缺失或為空白

校正失敗,必須提供過濾條件。

運算式中引用的欄位不存在

運行時報錯。

運算式結果不是布爾值

運行時報錯。

運算式語法錯誤

運行時報錯。

所有行均不滿足條件

輸出空資料集,後續節點正常處理空輸入。