すべてのプロダクト
Search
ドキュメントセンター

DashVector:ドキュメントの検索

最終更新日:Jan 08, 2025

このトピックでは、HTTP API を使用してコレクション内で類似検索を実行する方法について説明します。

前提条件

  • クラスターが作成されていること。詳細については、「クラスターの作成」をご参照ください。

  • APIキーが取得されていること。詳細については、「APIキーの管理」をご参照ください。

  • 最新バージョンの SDK がインストールされていること。詳細については、「DashVector SDK のインストール」をご参照ください。

メソッドと URL

POST https://{Endpoint}/v1/collections/{CollectionName}/query

説明
  1. コードを正しく実行するには、サンプルコード内の YOUR_API_KEY を実際の API キーに、YOUR_CLUSTER_ENDPOINT をクラスターのエンドポイントに置き換える必要があります。

  2. quickstart という名前のコレクションを事前に作成する必要があります。詳細については、「コレクションの作成」トピックの「例」セクションをご参照ください。

ベクターを使用して類似検索を実行する

curl -XPOST \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "vector": [0.1, 0.2, 0.3, 0.4],
    "topk": 10,
    "include_vector": true
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/query

# example output:  // 出力例
# {
#   "code": 0,
#   "request_id": "2cd1cac7-f1ee-4d15-82a8-b65e75d8fd13",
#   "message": "Success",
#   "output": [
#     {
#       "id": "1",
#       "vector":[
#         0.10000000149011612,
#         0.20000000298023224,
#         0.30000001192092896,
#         0.4000000059604645
#       ],
#       "fields": {
#         "name": "zhangshan",
#         "weight": null,
#         "age": 20,
#         "anykey": "anyvalue"
#       },
#       "score": 0.3
#     }
#   ]
# }

プライマリキーに関連付けられたベクターを使用して類似検索を実行する

curl -XPOST \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "1",
    "topk": 1,
    "include_vector": true
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/query

# example output: // 出力例
# {
#   "code":0,
#   "request_id":"fab4e8a2-15e4-4b55-816f-3b66b7a44962",
#   "message":"Success",
#   "output":[
#     {
#       "id":"1",
#       "vector":[
#         0.10000000149011612,
#         0.20000000298023224,
#         0.30000001192092896,
#         0.4000000059604645
#       ],
#        "fields": {
#         "name": "zhangshan",
#         "weight": null,
#         "age": 20,
#         "anykey": "anyvalue"
#       },
#       "score": 0.3
#     }
#   ]
# }

ベクターまたはプライマリキーと条件フィルターを使用して類似検索を実行する

curl -XPOST \
  -H 'dashvector-auth-token: sk-YdC9WPy9DBJslHlC81u74hb8xHPRb33C1216835E211EEBCBC7A664A2F9815' \
  -H 'Content-Type: application/json' \
  -d '{
    "filter": "age > 18",
    "topk": 1,
    "include_vector": true
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/query
  
# example output: // 出力例
# {
#   "code":0,
#   "request_id":"4c7331d8-fba1-4c3a-8673-124568670de7",
#   "message":"Success",
#   "output":[
#     {
#       "id":"1",
#       "vector":[
#         0.10000000149011612,
#         0.20000000298023224,
#         0.30000001192092896,
#         0.4000000059604645
#       ],
#        "fields": {
#         "name": "zhangshan",
#         "weight": null,
#         "age": 20,
#         "anykey": "anyvalue"
#       },
#       "score": 0.0
#     }
#   ]
# }

密ベクターと疎ベクターの両方を使用して類似検索を実行する

curl -XPOST \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "vector": [0.1, 0.2, 0.3, 0.4],
    "sparse_vector":{"1":0.4, "10000":0.6, "222222":0.8},
    "topk": 1,
    "include_vector": true
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections/quickstart/query

# example output: // 出力例
# {
#   "code":0,
#   "request_id":"ad84f7a0-b4b2-4023-ae80-b6f092609a53",
#   "message":"Success",
#   "output":[
#     {
#       "id":"2",
#       "vector":[
#         0.10000000149011612,
#         0.20000000298023224,
#         0.30000001192092896,
#         0.4000000059604645
#       ],
#       "fields":{"name":null,"weight":null,"age":null},
#       "score":1.46,
#       "sparse_vector":{
#         "10000":0.6,
#         "1":0.4,
#         "222222":0.8
#       }
#     }
#   ]
# }

リクエストパラメーター

説明

類似検索を実行するには、vector フィールドまたは id フィールドのいずれかを指定する必要があります。どちらも指定されていない場合、システムは条件フィルターのみを使用して一致クエリを実行します。

パラメーター

場所

タイプ

必須

説明

{Endpoint}

パス

str

はい

クラスターのエンドポイント。エンドポイントは、コンソールの クラスターの詳細 ページで確認できます。

{CollectionName}

パス

str

はい

コレクションの名前。

dashvector-auth-token

ヘッダー

str

はい

API キー。

vector

本文

配列

いいえ

ベクター。

sparse_vector

本文

dict

いいえ

疎ベクター。

id

本文

str

いいえ

プライマリキー。プライマリキーに関連付けられたベクターに基づいて類似検索が実行されます。

topk

本文

int

いいえ

類似性によって返される上位結果の数。デフォルト値:10。

filter

本文

str

いいえ

条件フィルター。SQL WHERE 句の構文に準拠している必要があります。詳細については、「条件付きフィルタリング」をご参照ください。

include_vector

本文

bool

いいえ

ベクターを返すかどうかを指定します。デフォルト値:false。

output_fields

本文

配列

いいえ

返されるフィールドのリスト。デフォルトではすべてのフィールドが返されます。値が [] の場合、フィールドは返されません。

partition

本文

str

いいえ

パーティションの名前。

レスポンスパラメーター

パラメーター

タイプ

説明

code

int

返されたステータスコード。詳細については、「ステータスコード」をご参照ください。

0

message

str

返されたメッセージ。

success

request_id

str

リクエストの一意の ID。

19215409-ea66-4db9-8764-26ce2eb5bb99

output

配列

返される類似ドキュメント のリスト。