全部產品
Search
文件中心

Vector Retrieval Service:擷取Doc

更新時間:Jul 13, 2024

本文介紹如何通過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