如何通过HTTP API更新Doc

本文介绍如何通过HTTP API更新Collection中已存在的Doc。


说明

  1. 若更新Doc时指定id不存在,则本次更新Doc操作无效

  2. 如只更新部分属性fields,其他未更新属性fields默认被置为null

前提条件

Method与URL

HTTP

复制代码
PUT https://{Endpoint}/v1/collections/{CollectionName}/docs

使用示例

说明

  1. 需要使用您的api-key替换示例中的YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。

  2. 本示例需要参考新建Collection-使用示例提前创建好名称为quickstart的Collection

插入Doc

Shell

复制代码
curl -XPUT \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "docs": [{"id": "1", "vector": [0.1, 0.2, 0.3, 0.4]}]
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/docs

# example output:
# {"request_id":"b1ce1b30-14a2-4e38-9931-f0b832660da9","code":0,"message":"Success","output":[{"doc_op":"update","id":"1","code":0,"message":""}]}

插入带有Fields的Doc

Shell

复制代码
curl -XPUT \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "docs": [
      {
      	"id": "2", 
        "vector": [0.2, 0.3, 0.4, 0.5], 
        "fields": 
          {
            "age": 70, 
            "name": "zhangshan",
            "anykey1": "str-value",
            "anykey2": 1,
            "anykey3": true,
            "anykey4": 3.1415926
          }
      }
    ]
   }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/docs

# example output:
# {"request_id":"0d22a37f-e906-4121-8408-7f1b685bb211","code":0,"message":"Success","output":[{"doc_op":"update","id":"2","code":0,"message":""}]}

批量插入Doc

Shell

复制代码
curl -XPUT \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ 
    "docs": [ 
      {"id": "3", "vector": [0.3, 0.4, 0.5, 0.6]},
      {"id": "4", "vector": [0.4, 0.5, 0.6, 0.7], "fields": {"age": 20, "name": "zhangsan"}},
      {"id": "5", "vector": [0.5, 0.6, 0.7, 0.8], "fields": {"anykey": "anyvalue"}}
    ]
   }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/docs

# example output:
# {"request_id":"d9a81bbc-7010-4902-a91c-7402e13143fa","code":0,"message":"Success","output":[{"doc_op":"update","id":"3","code":0,"message":""},{"doc_op":"update","id":"4","code":0,"message":""},{"doc_op":"update","id":"5","code":0,"message":""}]}

插入带有Sparse Vector的Doc

Shell

复制代码
curl -XPUT \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "docs": [
      {"id": "6", "vector": [0.1, 0.2, 0.3, 0.4], "sparse_vector":{"1":0.4, "10000":0.6, "222222":0.8}}
    ]
   }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/docs

# example output:
# {"request_id":"bb28479a-1a54-4d0b-a083-6399ac7bceeb","code":0,"message":"Success","output":[{"doc_op":"update","id":"6","code":0,"message":""}]}

入参描述

|-----------------------|--------------|--------|--------|----------------------------------------------------------------------------------------------------------------------|
| 参数 | Location | 类型 | 必填 | 说明 |
| {Endpoint} | path | str | 是 | Cluster的Endpoint,可在控制台Cluster详情中查看 |
| {CollectionName} | path | str | 是 | Collection名称 |
| dashvector-auth-token | header | str | 是 | api-key |
| docs | body | array | 是 | 待更新的Doc列表 |
| partition | body | str | 否 | Partition名称 |

出参描述

|------------|--------|-----------------------------------------------------------------------------------------------------------|--------------------------------------|
| 字段 | 类型 | 描述 | 示例 |
| code | int | 返回值,参考返回状态码说明 | 0 |
| message | str | 返回消息 | success |
| request_id | str | 请求唯一id | 19215409-ea66-4db9-8764-26ce2eb5bb99 |
| output | array | 返回更新的结果,DocOpResult列表 | |
| usage | map | 对Serverless实例(按量付费)集合的Doc更新请求,成功后返回实际消耗的写请求单元数 | { Usage: { write_units: 5 } } |

相关推荐
Kim_wang1 分钟前
agent项目部署流程
人工智能·后端
隔窗听雨眠7 分钟前
从追赶者到定义者:中国BI如何借助AI实现弯道超车
大数据·人工智能
百度Geek说10 分钟前
让 Agent 按工程标准交付:AI Coding 下的质量关卡实践
人工智能
智圣新创0113 分钟前
高校全域治理决策效能升级 智圣新创决策中台落地实操与行业趋势研判
大数据·人工智能·物联网
Zhu75815 分钟前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器
user-猴子19 分钟前
不会写代码,做小游戏教程
人工智能·游戏
微三云 - 廖会灵 (私域系统开发)32 分钟前
电商推荐系统从0到1:协同过滤+深度学习双塔模型的架构演进与实时排序实践
人工智能·深度学习·架构
乔粒科研工坊33 分钟前
文献解读 |“三虚拟”上线- AI 虚拟细胞爆火-综述
人工智能·文献阅读·虚拟细胞·文献分享·虚拟敲除
jinxindeep35 分钟前
LingBot-Vision:以边界为中心的视觉预训练新范式,驱动密集空间感知与深度估计新突破
人工智能
Java编程爱好者42 分钟前
一种适合程序员的 Agent 协作方式的实践
人工智能