閱讀547 返回首頁    go 阿裏雲


數據處理類__應用操作接口_API參考手冊_開放搜索-阿裏雲

上傳文檔

支持新增、更新、刪除的批量操作

URL

/index/doc/$app_name (app_name為要操作的應用名稱)

支持格式

JSON

HTTP請求方式

POST

請求參數

參數 類型 必需 取值範圍 默認值 描述
action string push
table_name string 要上傳數據的表名
items string 規定JSON格式,如下所示

items格式:

[
    {
        "cmd": "add",
        "timestamp": 1401342874777,
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body"
        }
    },
    {
        "cmd": "update",
        "timestamp": 1401342874778,
        "fields": {
            "id": "2",
            "title": "This is the new title"
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]
  • cmd : 必選字段。定義該文檔的操作行為,可以為“add”、“update”、“delete”。建議一個請求中進行批量更新操作,提高網絡交互及處理效率。“add”表示新增文檔,如果該主鍵對應文檔已經存在,則執行先“delete”再“add”的操作;“update”表示更新文檔,對該主鍵對應文檔進行部分字段更新,如果未存在主鍵文檔,則執行“add”操作;“delete”表示刪除文檔,如果該主鍵對應文檔已經不存在,則認為刪除成功。
  • timestamp : 可選字段。用來記錄文檔實際發生時間,單位為毫秒。係統會用該時間戳來作為同一主鍵文檔更新順序的判斷標準。如果沒有timestamp項,則默認以文檔發送到OpenSearch的時間作為文檔更新時間來進行保序操作。
  • fields : 必選字段。要操作的文檔內容,主鍵字段必選,係統所有操作都是通過主鍵來進行的。對於“delete”隻需要提供文檔主鍵即可。
  • 對於Array類型,需要使用JsonArray來處理,如[{"fields": { "id": "0","int_array": [14,85],"string_array": ["abc","xyz"]},"cmd": "ADD"}];
  • 注意:最外層是JsonArray類型,支持多個文檔批量操作。

返回結果

參數 類型 描述
status string 執行結果,OK為成功,FAIL為失敗,請根據返回錯誤碼進行排查
request_id string 該條查詢的記錄id,主要用於排查問題使用

示例

請求:(此處省略了公共參數及編碼等因素)

https://$host/index/doc/test_create_index?action=push&table_name=main

//items建議放到body體中
items=[{"cmd":"add","timestamp": 1401342874777,"fields": {"id": "1","title": "This is the title","body": "This is the body"}]

成功返回:

{"status":"OK","request_id":"1422348642065805100373587"}

錯誤返回:

{"status":"FAIL","errors":[{"code":4012,"message":"Table dose not exist"}],"request_id":"1422348739084222300234072"}

注意事項

  • 使用API/SDK推送數據有次數及大小限製,具體值請參考係統限製項。
  • 數據上傳後請務必檢查返回值,並對相關錯誤碼進行重試(尤其是3007錯誤),否則會出現數據丟失情況。同時,數據處理是異步的,係統返回“OK”後隻表示係統接收數據成功,數據處理過程的錯誤會在控製台錯誤信息中展示,請注意及時檢查。
  • post的數據大小有限製,如果您上傳的文檔過大(2M以上),服務器將拒絕接收任何參數,同時返回異常。
  • POST的url及body部分最好都要做url_encode,否則會出現解析及簽名問題。

最後更新:2016-11-23 16:04:03

  上一篇:go 應用管理類__應用操作接口_API參考手冊_開放搜索-阿裏雲
  下一篇:go 搜索相關__應用操作接口_API參考手冊_開放搜索-阿裏雲