如何通过HTTP API插入Doc

news/2024/12/28 18:50:13/

本文介绍如何通过HTTP API向Collection中插入Doc。


说明

  1. 插入Doc时若指定id已存在,已存在的Doc不会被覆盖,本次插入Doc操作无效。

  2. 插入Doc时若不指定id,则在插入过程中会自动生成id,并在返回结果中携带id信息。

前提条件

  • 已创建Cluster:创建Cluster。

  • 已获得API-KEY:API-KEY管理。

Method与URL

HTTP

POST https://{Endpoint}/v1/collections/{CollectionName}/docs

使用示例

说明

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

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

插入Doc

Shell

curl -XPOST \-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:
# {"code": 0, "message": "Success", "requests_id": "6fda9f39-ee83-45cb-bfc5-ff353d650568", "output": [{"doc_op": "insert", "id": "1", "code": 0, "message": ""}]}

插入不带有Id的Doc

Shell

curl -XPOST \-H 'dashvector-auth-token: YOUR_API_KEY' \-H 'Content-Type: application/json' \-d '{"docs": [{"vector": [0.1, 0.2, 0.3, 0.4]}]}' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/docs# example output:
# {"request_id":"1602e7fb-227d-4a39-bfc5-0066763f20ab","code":0,"message":"Success","output":[{"doc_op":"insert","id":"2196112409600","code":0,"message":""}]}

插入带有Fields的Doc

Shell

curl -XPOST \-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":"6de0609c-476f-4c2c-a732-4f8745f24536","code":0,"message":"Success","output":[{"doc_op":"insert","id":"2","code":0,"message":""}]}

批量插入Doc

Shell

curl -XPOST \-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":"b0bf32b0-92dc-4fa5-bf33-e6b27f567c60","code":0,"message":"Success","output":[{"doc_op":"insert","id":"3","code":0,"message":""},{"doc_op":"insert","id":"4","code":0,"message":""},{"doc_op":"insert","id":"5","code":0,"message":""}]}

插入带有Sparse Vector的Doc

Shell

curl -XPOST \-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":"9ffed1ac-bdbe-4341-a1f7-0e25afce4b47","code":0,"message":"Success","output":[{"doc_op":"insert","id":"6","code":0,"message":""}]}

插入多向量集合

curl -XPOST \-H 'dashvector-auth-token: YOUR_API_KEY' \-H 'Content-Type: application/json' \-d '{ "docs": [ {"id": "1", "vectors": {"title": [0.3, 0.4, 0.5, 0.6], "content": [0.3, 0.4, 0.5, 0.6, 0.7, 0.8]}},{"id": "2", "vectors": {"title": [0.1, 0.2, 0.3, 0.4]},"fields": {"author": "zhangsan"}},{"id": "3", "vectors": {"content": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]}, "fields": {"anykey": "anyvalue"}}]
}' https://YOUR_CLUSTER_ENDPOINT/v1/collections/multi_vector_demo/docs# example output:
# {"request_id":"f98999e1-ab30-4bea-940c-a25b4b5bbb84","code":0,"message":"Success","output":[{"doc_op":"insert","id":"1","code":0,"message":""},{"doc_op":"insert","id":"2","code":0,"message":""},{"doc_op":"insert","id":"3","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

返回插入Doc的结果,DocOpResult列表

usage

map

对Serverless实例(按量付费)集合的Doc插入请求,成功后返回实际消耗的写请求单元数

{Usage: {write_units: 3}
}

http://www.ppmy.cn/news/1558857.html

相关文章

Hive SQL 之 `LATERAL VIEW EXPLODE` 的正确打开方式

一文彻底搞懂 LATERAL VIEW EXPLODE 1. 引言 在处理复杂数据结构(如数组、映射)时,Hive SQL 提供了强大的功能来简化查询和数据分析。其中,LATERAL VIEW 和 EXPLODE 是两个特别有用的关键字,它们可以帮助我们将复杂的…

springboot/ssm个人博客系统Java代码编写web在线博客相册管理项目

springboot/ssm个人博客系统Java代码编写web在线博客相册管理项目 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库&#xff…

【Maven】如何解决Maven循环依赖?

1、什么是循环依赖? 循环依赖指的是两个或多个项目(或模块)之间相互依赖,形成一个循环。例如,项目 A 依赖于项目 B,项目 B 又依赖于项目 A,形成了一个依赖环。这种情况可能涉及多个项目&#x…

Pytorch | 利用GRA针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用GRA针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集GRA介绍算法流程 GRA代码实现GRA算法实现攻击效果 代码汇总gra.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行分类 Pytorch | 从零构建…

大模型训练框架Megatron原理

这篇文章是关于NVIDIA Megatron框架的深入分析,该框架用于训练超大的Transformer语言模型。 摘要 Megatron:基于PyTorch的分布式训练框架,用于训练超大的Transformer语言模型。 目标:通过综合应用数据并行、Tensor并行和Pipelin…

网络安全攻防学习平台 - 基础关

基本方法(本次用到) 开发者工具:一般浏览器都自带开发者工具(快捷键为F12),点击后,可以查看当前网页的源代码,智能一点的浏览器,将鼠标移到指定的代码上,就会…

获取程序启动类

当程序有多个启动入口时,需要根据不同的启动类来决定方法是否执行,此时就需要获取启动类。 首先根据系统参数 sun.java.command 来获取启动类,如果以jar包方式启动,则获取到的就是jar包名称,此时需要从线程栈中获取mai…

Linux网络——UDP的运用

Linux网络——UDP的运用 文章目录 Linux网络——UDP的运用一、引入二、服务端实现2.1 创建socket套接字2.2 指定网络接口并bind2.3 接收数据并处理2.4 整体代码2.5 IP的绑定的细节 三、用户端实现3.1 创建套接字3.2 指定网络接口3.3 发生数据并接收3.4 绑定问题 四、代码五、UD…