本文介绍如何通过Python SDK,根据ID或ID列表获取Collection中已存在的Doc。
说明
如果指定id不存在,则该id对应的Doc为空。
前提条件
已创建Cluster:创建Cluster。
已获得API-KEY:API-KEY管理。
已安装最新版SDK:安装DashVector SDK。
接口定义
collection.fetch(
ids: Union[str, List[str]],
partition: Optional[str] = None,
async_req: bool = False
) -> DashVectorResponse
使用示例
说明
需要使用您的api-key替换示例中的YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。
本示例需要参考新建Collection-使用示例提前创建好名称为
quickstart
的Collection,并参考插入Doc提前插入部分数据。
import dashvector
client = dashvector.Client(
api_key='YOUR_API_KEY',
endpoint='YOUR_CLUSTER_ENDPOINT'
)
collection = client.get(name='quickstart')
doc_id = '1'
docs = collection.fetch(doc_id)
# 判断fetch接口是否成功
if docs:
print('fetch success')
# 判断fetch的doc是否存在,如果指定的ID不存在,则返回的output为空
if doc_id in docs:
doc = docs[doc_id]
print(doc.id)
print(doc.vector)
print(doc.fields)
# 遍历返回结果
for id in docs:
print(docs[id])
# 批量fetch
docs = collection.fetch(['1','2'])
入参描述
参数 | 类型 | 默认值 | 说明 |
ids | Union[Union[str, int], List[Union[str, int]]] | - | 主键或主键list |
partition(可选) | Optional[str] | None | Partition名称 |
async_req(可选) | bool | False | 是否异步 |
出参描述
说明
返回结果为DashVectorResponse对象,DashVectorResponse对象中可获取本次操作结果信息,如下表所示。
字段 | 类型 | 描述 | 示例 |
code | int | 返回值,参考返回状态码说明 | 0 |
message | str | 返回消息 | success |
request_id | str | 请求唯一id | 19215409-ea66-4db9-8764-26ce2eb5bb99 |
output | Dict[str, Doc] | key为主键,value为对应Doc的Dict |