Todos os produtos
Search
Central de documentação

Object Storage Service:QueryVectors

Última atualização: Jul 09, 2026

Use a operação QueryVectors para realizar uma busca por similaridade de vetores.

Permissões

Por padrão, uma conta Alibaba Cloud tem permissões totais, enquanto um usuário RAM ou função RAM não tem nenhuma. O proprietário da conta Alibaba Cloud ou um administrador deve conceder permissões usando uma política do RAM ou uma política de bucket.

API

Ação

Descrição

QueryVectors

oss:QueryVectors

Consulta dados vetoriais.

Sintaxe da solicitação

A taxa de recall das chamadas QueryVectors pode ser baixa por até 30 segundos após a criação de um índice vetorial. Os dados gravados com a operação PutVectors ficam disponíveis para consulta em aproximadamente 2 a 3 segundos.
POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.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
}

Cabeçalhos da solicitação

Esta operação usa apenas cabeçalhos de solicitação comuns. Para mais informações, consulte Cabeçalhos HTTP comuns.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

indexName

String

Sim

vectorindex1

Nome do índice vetorial.

queryVector

Container

Sim

N/A

Vetor de consulta. A dimensão deve corresponder à do índice vetorial.

filter

Container

Não

N/A

Filtra dados com base em metadados. As seguintes restrições se aplicam aos filtros de metadados:

  • O tamanho total dos metadados em um único filtro não pode exceder 20 KB.

  • A quantidade de itens de metadados em um único filtro não pode ultrapassar 1.024.

  • As condições de filtro podem ter até 8 níveis de aninhamento.

returnDistance

Boolean

Não

false

Defina se a distância de similaridade deve ser retornada. Valores válidos:

  • true

  • false (padrão)

returnMetadata

Boolean

Não

false

Defina se os metadados devem ser retornados. Valores válidos:

  • true

  • false (padrão)

topK

Number

Sim

10

Número de resultados mais similares a retornar. O valor deve ser um inteiro entre 1 e 500.

Operadores de filtro

Operador

Tipo

Descrição

$eq

String, Number, Boolean

Correspondência exata (para um único valor). Em metadados do tipo array, o operador retorna true se o valor corresponder a qualquer elemento do array.

$ne

String, Number, Boolean

Corresponde a valores diferentes do especificado.

$gt

Number

Maior que.

$gte

Number

Maior ou igual a.

$lt

Number

Menor que.

$lte

Number

Menor ou igual a.

$in

Array não vazio de primitivos

Corresponde a qualquer valor presente em um array (semelhante à operação IN do SQL).

$nin

Array não vazio de primitivos

Não corresponde a nenhum valor no array (semelhante à operação NOT IN do SQL).

$exists

Boolean

Verifica se uma chave de metadados existe.

$and

Array não vazio de filtros

Executa uma operação lógica AND em um array de condições de filtro.

$or

Array não vazio de filtros

Executa uma operação lógica OR em um array de condições de filtro.

Exemplos de filtro

Veja a seguir exemplos comuns de expressões de filtro. Se o operador for omitido, $eq será usado por padrão.

// Simple equality (uses $eq by default when the operator is omitted)
{"category": "finance"}

// Explicit equality / inequality
{"category": {"$eq": "finance"}}
{"category": {"$ne": "archived"}}

// Numeric comparison
{"created_year": {"$gt": 2023}}
{"created_year": {"$gte": 2024}}
{"created_year": {"$lt": 2026}}
{"created_year": {"$lte": 2025}}

// Array matching
{"language": {"$in": ["zh", "en"]}}
{"language": {"$nin": ["ja", "ko"]}}

// Existence check
{"author": {"$exists": true}}

// Logical combination
{"$and": [{"category": {"$eq": "finance"}}, {"created_year": {"$gte": 2024}}]}
{"$or": [{"category": {"$eq": "finance"}}, {"category": {"$eq": "tech"}}]}

// Multiple conditions on the same field (range)
{"score": {"$gte": 0.6, "$lte": 0.95}}

Cabeçalhos da resposta

Esta operação usa apenas cabeçalhos de resposta comuns. Para mais informações, consulte Cabeçalhos HTTP comuns.

Elementos da resposta

Parâmetro

Tipo

Exemplo

Descrição

vectors

Array de objetos

/

Lista de resultados da busca vetorial.

key

String

doc-001

Chave primária do vetor.

Nó pai: vectors

distance

float32

0,25

Distância de similaridade entre o vetor retornado e o vetor de consulta. Um valor menor indica maior similaridade. Este parâmetro é retornado apenas quando returnDistance está definido como true.

Nó pai: vectors

metadata

Object

/

Metadados completos do vetor. Retornado apenas quando returnMetadata está definido como true.

Nó pai: vectors

Exemplos

POST /?queryVectors HTTP/1.1
Host: examplebucket-123***456.cn-hangzhou-internal.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
}

Resposta de exemplo

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": "Introduction to Vector Search",
             "year": "2020"
         }
      },
      { 
         "distance": 0.25,
         "key": "doc-003",
         "metadata": {
             "category": ["science"],
             "title": "Advanced Vector Operations",
             "year": "2020"
         }
      }
   ]
}

SDK

A operação QueryVectors está disponível nos seguintes SDKs:

ossutil CLI

Use o comando query-vectors na ferramenta de linha de comando ossutil para executar esta operação.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

VectorIndexParameterInvalid

400

A solicitação contém parâmetros de índice vetorial inválidos.

MalformedJson

400

O formato JSON do corpo da solicitação é inválido.

AccessDenied

403

Possíveis causas deste erro:

  • A solicitação não inclui informações de autenticação do usuário.

  • Você não tem as permissões necessárias para a operação.

NoSuchVectorIndex

404

O índice vetorial especificado não existe.

QpsLimitExceeded

503

A taxa de solicitações excedeu o limite de QPS. As solicitações estão sendo limitadas.