全部產品
Search
文件中心

OpenSearch:引擎技術文檔

更新時間:Aug 22, 2026

即時推送文檔格式

[
    {
        "cmd": "add",
        "fields": {
            "id": "1",
            "title": "This is the title",
            "body": "This is the body",
                  "tags" : [1, 2, 3]
        }
    },
    {
        "cmd": "delete",
        "fields": {
            "id": "3"
        }
    }
]

召回引擎版的文檔包括cmd和fields兩個部分,這兩個欄位都是必選欄位:

  • cmd:文檔的更新方式。

    • add:添加一篇文檔,如果文檔已經存在會先刪除然後再添加。

    • delete:刪除一篇文檔,刪除文檔時需要指定文檔主鍵,如果索引構建時採用多級hash方式,需要指定每級hash的主鍵。

  • fields:文檔包含的欄位,fields中必須指定主鍵欄位,多重值欄位是一個arrary類型,需要使用JsonArray來處理,如[{“fields”: { “id”: “0”,”int_array”: [14,85],”string_array”: [“abc”,”xyz”]},”cmd”: “ADD”}]。

召回引擎版提供了資料推送的SDK。

全量文檔格式

召回引擎版目前只支援MaxCompute全量資料來源,schema中配置的欄位名要和MaxCompute中的欄位名相同。對於多重值欄位,在MaxCompute中的內容需要使用多值分隔字元'\x1D' ('^]')進行分割。MaxCompute中的資料不需要執行cmd,全量時預設全部都是add。

注意事項

  • 召回引擎版有些內建的字元請不要在文檔中使用,內建的字元如下表所示:

編碼

(emacs/vi)中的顯示形態

emacs中輸入方法

vi中輸入方法

"\x1E\n"

^^(接換行)

C-q C-6

C-v C-6

"\x1F\n"

^_(接換行)

C-q C-7

C-v C-7

"\x1D"

^]

C-q C-5

C-v C-5

"\x1C"

^\

C-q C-4

C-v C-4

"\x03"

^C

C-q C-c

C-v C-c

  • 即時推送時資料中不要出現多值分割符'\x1D' ('^]')。

  • TEXT類型的欄位中不要出現多值分隔字元'\x1D' ('^]')。