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

Object Storage Service:QueryVectors

最終更新日:Mar 26, 2026

QueryVectors を呼び出してベクトル類似検索を実行します。

権限

デフォルトでは、Alibaba Cloud アカウント (root ユーザー) はすべての権限を持ちますが、その RAM ユーザーおよび RAM ロールには権限が付与されていません。権限を付与するには、Alibaba Cloud アカウントの所有者または管理者が RAM ポリシー または バケットポリシー を使用する必要があります。

API

Action

説明

QueryVectors

oss:QueryVectors

ベクトルデータをクエリします。

リクエスト構文

ベクトルインデックスを作成した直後の最初の 30 秒間は、QueryVectors の取得率が低くなります。PutVectors を使用してデータを書き込んだ後、約 2~3 秒で QueryVectors によるクエリが可能になります。
POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.oss-vectors.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-type: application/json

{
   "filter": {
       "$and": [{
           "type": {
               "$in": ["comedy", "documentary"]
           }
       }, {
           "year": {
               "$eq": "2020"
           }
       }]
    },
   "indexName": "string",
   "queryVector": {
       "float32":[float]
    },
   "returnDistance": boolean,
   "returnMetadata": boolean,
   "topK": int
}

リクエストヘッダー

この操作では、共通のリクエストヘッダーのみを使用します。詳細については、「共通の HTTP ヘッダー」をご参照ください。

リクエストパラメーター

パラメーター

必須

説明

indexName

String

はい

vectorindex1

ベクトルインデックスの名前です。

queryVector

Container

はい

N/A

クエリベクトルです。ベクトルのディメンションは、対応するベクトルインデックスのディメンションと一致している必要があります。

filter

Container

いいえ

N/A

メタデータに基づいて検索結果をフィルターします。以下の制限が適用されます:

  • 単一のフィルター式におけるメタデータの合計サイズは、64 KB を超えてはなりません。

  • 単一のフィルター式におけるメタデータフィールドの数は、1,024 を超えてはなりません。

  • フィルター条件 は最大 8 段階までネストできます。

returnDistance

Boolean

いいえ

false

類似度距離を応答に含めるかどうかを指定します。有効な値は以下のとおりです:

  • true

  • false(デフォルト)

returnMetadata

Boolean

いいえ

false

メタデータを応答に含めるかどうかを指定します。有効な値は以下のとおりです:

  • true

  • false(デフォルト)

topK

Integer

はい

10

返す最も類似した結果の数です。値は 1~100 の範囲である必要があります。

フィルター演算子

演算子

説明

$eq

String

単一の値と一致します。メタデータフィールドが配列の場合、この演算子はその配列内の任意の要素と一致します。

$ne

String

等しくないことを示します。

$in

String 配列

配列内のいずれかの値と一致します(SQL の IN 演算子と同様)。

$nin

String 配列

配列内のどの値とも一致しません(SQL の NOT IN 演算子と同様)。

$exists

Boolean

メタデータキーが存在するかどうかを確認します。

$and

空でないフィルターの配列

2 つ以上のフィルター式からなる配列に対して論理積(AND)演算を実行します。

$or

空でないフィルターの配列

2 つ以上のフィルター式からなる配列に対して論理和(OR)演算を実行します。

レスポンスヘッダー

この操作では、共通のレスポンスヘッダーのみを使用します。詳細については、「共通の HTTP ヘッダー」をご参照ください。

レスポンス要素

パラメーター

説明

vectors

オブジェクトの配列

/

返されたベクトルオブジェクトの配列です。指定されたベクトルのプライマリキーが存在しない場合、その要素は応答から除外され、エラーは報告されません。

key

String

doc-001

ベクトルのプライマリキーです。

親ノード:vectors

distance

Float

0.25

結果ベクトルとクエリベクトルとの類似度距離です。値が小さいほど類似度が高くなります。returnDistancetrue に設定されている場合にのみ返されます。

親ノード:vectors

metadata

Object

/

ベクトルの完全なメタデータです。returnMetadatatrue に設定されている場合にのみ返されます。

親ノード:vectors

POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou.oss-vectors.aliyuncs.com
Date: Thu, 17 Apr 2025 01:33:47 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218
Content-type: application/json

{
   "filter": {
       "$and": [{
           "category": {
               "$in": ["technology", "science"]
           }
       }, {
           "year": {
               "$eq": "2020"
           }
       }]
    },
   "indexName": "vectorindex1",
   "queryVector": {
       "float32": [0.15, 0.25, 0.35, 0.45, 0.55]
    },
   "returnDistance": true,
   "returnMetadata": true,
   "topK": 5
}

応答の例

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 17 Apr 2025 01:33:47 GMT
Connection: keep-alive
Server: AliyunOSS
Content-type: application/json

{
   "vectors": [ 
      { 
         "distance": 0.12,
         "key": "doc-001",
         "metadata": {
             "category": ["technology", "ai"],
             "title": "ベクトル検索の概要",
             "year": "2020"
         }
      },
      { 
         "distance": 0.25,
         "key": "doc-003",
         "metadata": {
             "category": ["science"],
             "title": "高度なベクトル操作",
             "year": "2020"
         }
      }
   ]
}

SDK

QueryVectors 操作は、以下の SDK で利用可能です:

ossutil CLI

QueryVectors 操作に対応する ossutil コマンドは、query-vectors です。

エラーコード

エラーコード

HTTP ステータスコード

説明

VectorIndexParameterInvalid

400

リクエストで指定されたベクトルインデックスパラメーターが無効です。

MalformedJson

400

リクエストボディが有効な JSON 形式ではありません。

AccessDenied

403

以下のいずれかの理由により発生します:

  • リクエストに認証情報が含まれていません。

  • この操作を実行するための必要な権限が付与されていません。

NoSuchVectorIndex

404

指定されたベクトルインデックスが存在しません。

QpsLimitExceeded

503

秒間クエリ数 (QPS) が上限を超えています。リクエストの頻度がスロットルされています。