OpenSearch 任務¶
這頁能幫你做什麼¶
OpenSearch 任務讓你在工作流程 (Workflow) 步驟中,對 OpenSearch 叢集送出查詢或管理請求,把結果帶進後續步驟。常見情境:
- 對索引文件做全文搜尋、布林條件查詢或排序。
- 執行聚合分析,產生統計與趨勢。
- 查詢與分析存放在 OpenSearch 的日誌資料。
- 新增、更新或管理索引內容。
開始前
這個任務需要一個 OpenSearch 類型的連結器 (Connector),裡面存放叢集連線資訊。請先到 連結器資源頁 建立好再回來選用。
操作步驟¶
-
新增一個 OpenSearch 任務節點,點選它開啟右側設定表單(如何新增請見 任務使用指南)。

-
在「名稱」填步驟名稱。
- 在「連結器」選擇前面建好的 OpenSearch 連結器。這個欄位是下拉選單()+右側一顆鉛筆鈕():點欄位本體會展開一般下拉清單;點鉛筆鈕會開啟含搜尋框的資源選擇對話框,在對話框選完要按右上角的「儲存」才會套用。選取時請點該列「名稱」以外的任一格(或列前面的圓鈕)——點「名稱」會在新分頁開啟該連結器的詳細頁,不會選取它(見資源挑選欄位)。
- 在「方法」選 HTTP 方法(常用
GET或POST)。 - 在「網址路徑」填要查詢的索引與動作路徑,例如
/my_index/_search。 - 在「主體」用 JSON 寫查詢內容(查詢條件、排序、聚合等)。這個欄位的「JSON」開關預設就是開啟,一打開節點就是 JSON 編輯器,直接打字即可。
-
視需要展開「進階任務設定」調整標頭、參數、連線快取與逾時。

-
設定「下一個狀態」,視需要填「附註」,再用「測試任務」按鈕()試跑。
完整欄位說明¶
下表只列 OpenSearch 任務特有的欄位。名稱、附註、下一個狀態、輸入與輸出、錯誤處理等共用分區,請見 任務通用設定。
設定分頁(基本欄位)¶
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 連結器 | 是 | 無 | 選擇要連線的 OpenSearch 連結器資源。欄位是下拉選單+右側鉛筆鈕,點鉛筆會開啟資源選擇對話框(含搜尋框、清單、 重新載入、 新增,以及「取消/儲存」兩顆按鈕),只列 OpenSearch 類型的連結器;選完要按「儲存」。連結器也用來安全存放請求標頭裡的敏感資訊——直接填在「HTTP 標頭」欄位的值會以明文儲存。也可切換成從工作流程輸入動態帶入。建立方式見 連結器資源頁。 |
| 方法 | 是 | GET | OpenSearch 請求的 HTTP 方法,可選 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS。依查詢方式選擇,搜尋多用 GET 或 POST。 |
| 網址路徑 | 是 | /my_index/_search | 要查詢哪一個索引、做哪一種動作。OpenSearch 的資料按「索引 (index)」分組(可以想成資料庫的資料表),每個動作有固定的路徑寫法:/索引名稱/_search 表示「在這個索引裡搜尋」。所以 /products/_search 就是「搜尋 products 這個索引」。索引名稱要問維護 OpenSearch 的同事,或在 OpenSearch 端查看;_search 這種底線開頭的字是 OpenSearch 固定的動作名稱,照抄即可。 |
| 主體 | 否 | {"query": {"match_all": {}}, "size": 10} | 以 JSON 描述查詢邏輯,例如布林條件、排序規則或聚合分析。這個欄位的「JSON」開關預設已開啟(畫面上 JSON 亮、JSONPath 灰),所以一開始就是 JSON 編輯器,不需要自己去切;若要整包從上一步的輸出帶入,改開「JSONPath」開關(路徑寫法見 JSONPath 語法)。 |
進階任務設定(摺疊區塊)¶
展開設定分頁底部的「進階任務設定」可看到下列 OpenSearch 特有欄位:
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| HTTP 標頭 | 否 | 空的「鍵/值」表格 | 要附加到請求的自訂 HTTP 標頭,例如內容類型或驗證。是一張「鍵/值」表格,按 逐列新增。需隱藏敏感資訊時建議改放在連結器的標頭設定(填在這裡的值會以明文儲存)。把滑鼠移到欄位上可切換成 JSON 輸入。 |
| 參數 | 否 | 空的「鍵/值」表格 | OpenSearch 的請求查詢參數,例如逾時、排序、欄位過濾或結果數量限制(如 size、from、sort)等,用來調整搜尋行為。同樣是「鍵/值」表格,按 逐列新增;把滑鼠移到欄位上可切換成 JSON 輸入。完整參數請參考 OpenSearch 官方 API 文件。 |
| 使用快取連線 | 否 | 開啟 | 開關。開啟(預設)會重用快取的 OpenSearch 連線以提升效率;關閉後每次執行都會重新建立連線。 |
| 逾時 | 否 | 30 | 請求的最長等待秒數,超過未回應就中斷。範圍 1 至 120 秒。 |
Note
「使用快取連線」與「逾時」屬於連線層級的調校選項,一般情況維持預設即可,遇到連線不穩或長查詢再調整。
實際範例與預期結果¶
設定內容:
- 連結器:選一個 OpenSearch 連結器
- 方法:
POST - 網址路徑:
/products/_search - 主體:
$.search_query(從輸入帶入查詢)
工作流程輸入:
{
"search_query": {
"query": {
"bool": {
"must": [{ "match": { "category": "electronics" } }],
"filter": [{ "range": { "price": { "lte": 1000 } } }]
}
},
"size": 5,
"sort": [{ "price": "asc" }]
}
}
測試輸出(OpenSearch 的原始回應放在 response):
{
"errors": null,
"action_type": "opensearch_action",
"response": {
"took": 12,
"hits": {
"total": { "value": 156 },
"hits": [
{
"_index": "products",
"_id": "prod-123",
"_score": 4.2,
"_source": { "name": "無線鍵盤", "price": 49.99 }
}
]
}
}
}
Note
輸出以後端實際回傳為準:查詢回應放在 response,action_type 固定為 opensearch_action。後續步驟可用 JSONPath 取值,例如 $.response.hits.hits[*]._source。
下一步¶
- 用 程式碼 (Code) 任務 從搜尋結果擷取特定欄位。
- 把結果交給 LLM 任務 綜合產生回答。
- 回到 任務通用設定 了解輸入與輸出、錯誤處理等共用分區。