实时推送文档格式
[
{
"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' ('^]')。
文档内容是否对您有帮助?