获取Doc

本文介绍如何通过Python SDK,根据ID或ID列表获取Collection中已存在的Doc。

说明

如果指定id不存在,则该id对应的Doc为空。

前提条件

接口定义

collection.fetch(
    ids: Union[str, List[str]],
    partition: Optional[str] = None,
    async_req: bool = False
) -> DashVectorResponse

使用示例

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

  2. 本示例需要参考新建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

usage

RequestUsage

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