獲取Doc
本文介紹如何通過(guò)Python SDK,根據(jù)ID或ID列表獲取Collection中已存在的Doc。
如果指定id不存在,則該id對(duì)應(yīng)的Doc為空。
前提條件
已創(chuàng)建Cluster:創(chuàng)建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,代碼才能正常運(yùn)行。
本示例需要參考新建Collection-使用示例提前創(chuàng)建好名稱為
quickstart
的Collection,并參考插入Doc提前插入部分?jǐn)?shù)據(jù)。
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)
# 遍歷返回結(jié)果
for id in docs:
print(docs[id])
# 批量fetch
docs = collection.fetch(['1','2'])
入?yún)⒚枋?/b>
參數(shù) | 類型 | 默認(rèn)值 | 說(shuō)明 |
ids | Union[Union[str, int], List[Union[str, int]]] | - | 主鍵或主鍵list |
partition(可選) | Optional[str] | None | Partition名稱 |
async_req(可選) | bool | False | 是否異步 |
出參描述
返回結(jié)果為DashVectorResponse對(duì)象,DashVectorResponse對(duì)象中可獲取本次操作結(jié)果信息,如下表所示。
字段 | 類型 | 描述 | 示例 |
code | int | 返回值,參考返回狀態(tài)碼說(shuō)明 | 0 |
message | str | 返回消息 | success |
request_id | str | 請(qǐng)求唯一id | 19215409-ea66-4db9-8764-26ce2eb5bb99 |
output | Dict[str, Doc] | key為主鍵,value為對(duì)應(yīng)Doc的Dict | |
usage | 對(duì)Serverless實(shí)例(按量付費(fèi))集合的Doc獲取請(qǐng)求,成功后返回實(shí)際消耗的讀請(qǐng)求單元數(shù) |