このトピックでは、Python 用 SDK を使用して、ドキュメント ID または ID リストに基づいてコレクション内の 1 つ以上のドキュメントを取得する方法について説明します。
説明
指定された ID が存在しない場合、対応する出力は空になります。
前提条件
クラスターが作成されていること。詳細については、クラスターの作成 を参照してください。
API キーが取得されていること。詳細については、API キーの管理 を参照してください。
最新バージョンの SDK がインストールされていること。詳細については、DashVector SDK のインストール を参照してください。
API 定義
collection.fetch(
ids: Union[str, List[str]],
partition: Optional[str] = None,
async_req: bool = False
) -> DashVectorResponse例
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')
# 取得するドキュメントの ID が存在するかどうかを確認します。存在しない場合、対応する出力は空になります。
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])
# 複数のドキュメントを一度に取得します。
docs = collection.fetch(['1','2']) リクエストパラメーター
パラメーター | タイプ | デフォルト値 | 説明 |
ids | Union[Union[str, int], List[Union[str, int]]] | - | 主キーまたは主キーリスト。 |
partition | Optional[str] | None | オプション。パーティションの名前。 |
async_req | bool | False | オプション。非同期モードを有効にするかどうかを指定します。 |
レスポンスパラメーター
説明
DashVectorResponse オブジェクトが返されます。これには、次の表で説明するように、操作結果が含まれています。
パラメーター | タイプ | 説明 | 例 |
code | int | 返されたステータスコード。詳細については、ステータスコード を参照してください。 | 0 |
message | str | 返されたメッセージ。 | success |
request_id | str | リクエストの一意の ID。 | 19215409-ea66-4db9-8764-26ce2eb5bb99 |
output | Dict[str, Doc] | キーが主キーに設定され、値が Doc オブジェクトに設定された辞書。 |