全部產品
Search
文件中心

OpenSearch:更新資料

更新時間:Jun 18, 2026

本文將介紹如何通過API新增和刪除表資料。

1、添加表

使用者可通過添加表並配置OSS、MaxCompute、資料湖構建(DLF)資料來源將全量資料匯入到表中:

在執行個體詳情頁面左側導覽列中,單擊表管理,然後單擊添加表

添加表的具體步驟可參考:

添加表的流程配置完成後,等待表的狀態為使用中即可通過API插入資料:

表列表中,相應表的狀態列將顯示為使用中

2、配置公網白名單

如果使用者的訪問環境是同個虛擬交換的VPC環境,可以忽略此步驟。

本地環境或公網環境請參考公網白名單配置

3、推送表資料

以Python為例:

添加依賴

pip install alibabacloud-ha3engine-vector

資料推送demo:

# -*- coding: utf-8 -*-

from alibabacloud_ha3engine_vector import models, client
from Tea.exceptions import TeaException, RetryError

Config = models.Config(
    endpoint="<API網域名稱>",  # // API網域名稱,可在執行個體詳情頁>API入口 查看(需去掉http://首碼);本地/公網訪問請填寫公網網域名稱(含public)
    instance_id="<執行個體id>",  # // 執行個體id,可在執行個體詳情頁左上方查看,例:ha-cn-i7*****605
    protocol="http",
    access_user_name="<使用者名稱>",  # // 使用者名稱,可在執行個體詳情頁>API入口 查看
    access_pass_word="<使用者名稱密碼>"  # // 使用者名稱密碼,可在執行個體詳情頁>API入口 修改

)

# 初始化 引擎用戶端
ha3EngineClient = client.Client(Config)

def push():
    # 文檔推送的表名稱,是執行個體id與表名的拼接,中間用底線串連
    tableName = "<instance_id>_<table_name>";

    try:
        # 添加文檔
        # 添加一篇文檔,如果文檔已經存在會先刪除然後再添加。
        # =====================================================
        # 更新文檔內容資訊
        add2DocumentFields = {
            "id": 1,                          # 主鍵id,INT單實值型別
            "cate_id": "123",                    # STRING單實值型別
            "vector": "a\x1Db\x1Dc\x1Dd"     # STRING多實值型別
        }
        
        # 將文檔內容添入 add2Document結構
        add2Document = {
            "fields": add2DocumentFields,
            "cmd": "add"                      # 新增對應的文檔命令: add
        }

        optionsHeaders = {}
        # 文檔推送外層結構, 可添加對文檔操作的結構體.結構內支援 一個或多個文檔操作內容.
        documentArrayList = []
        documentArrayList.append(add2Document)
        pushDocumentsRequest = models.PushDocumentsRequest(optionsHeaders, documentArrayList)

        # 文檔推送的文檔主鍵欄位.
    	pkField = "id"
        # 使用預設 運行時參數進行請求
        response = ha3EngineClient.push_documents(tableName, pkField, pushDocumentsRequest)
        print(response.body)
        print(response.body)
    except TeaException as e:
        print(f"send request with TeaException : {e}")
    except RetryError as e:
        print(f"send request with Connection Exception  : {e}")

if __name__ == "__main__":
    push()

注意

  • Python SDK中endpoint裡需要去掉http://

  • 本地或公網環境訪問時,endpoint請填寫公網網域名稱(含public的網域名稱),並確保已開啟公網訪問並配置白名單;同VPC內(如ECS)訪問時填寫私網網域名稱。

  • dataSourceName資料來源名稱為執行個體id_表名,例如dataSourceName=ha-cn-zpr3dgzxg04_test_vector_api

response中返回{"status": "OK", "code": 200} 說明本次請求成功。

4、驗證資料

通過主鍵或向量在查詢測試中進行驗證:

在左側導覽列中,單擊向量管理 > 查詢測試,選擇向量查詢頁簽。在表名下拉框中選擇目標表,在左側編輯地區輸入JSON格式的查詢請求(包含vectortopKindexNameincludeVector等參數),單擊搜尋,右側將顯示查詢結果及耗時資訊。

查詢文法可參考主鍵查詢向量查詢

其他SDK參考

其他語言SDK可參考查詢資料