Todos os produtos
Search
Central de documentação

Object Storage Service:QueryVectorsFusion

Última atualização: Oct 20, 2026

Use a operação QueryVectorsFusion para consultar um índice de vetores no modo Fusion. Esta operação oferece suporte a busca vetorial, filtragem escalar, busca de texto completo e fusão de recuperação de múltiplas vias.

Nota

O modo Fusion está atualmente em preview por convite e está disponível apenas na região Indonesia (Jakarta). Para recuperar vetores de um índice no modo Standard, consulte QueryVectors.

Notas de uso

  • A operação QueryVectorsFusion é usada para consultar índices no modo Fusion. Para realizar uma busca de similaridade vetorial em um índice no modo Standard, use a operação QueryVectors.

  • Diferente da QueryVectors, que retorna resultados por distância, a QueryVectorsFusion retorna resultados por pontuação de relevância. Uma pontuação maior indica maior relevância.

  • Os parâmetros knn, query e retriever correspondem, respectivamente, à busca vetorial, à filtragem escalar e de texto completo, e à fusão de recuperação de múltiplas vias. Combine-os conforme necessário. Ao usar o retriever, a solicitação pode incluir apenas os parâmetros indexName, limit, partitionKeys, returnMetadata e returnMetadataFields.

  • O parâmetro nextToken oferece suporte à paginação apenas em cenários de busca exclusiva por consulta (sem knn ou retriever).

Permissões

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

API

Ação

Descrição

QueryVectorsFusion

oss:QueryVectors e oss:GetVectors

Consulta um índice de vetores no modo Fusion.

Sintaxe da solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Cabeçalhos da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

indexName

String

Sim

O nome do índice a ser consultado.

vectorindex1

knn

Array de objetos

Não

A configuração de busca vetorial. Oferece suporte à busca de vizinho mais próximo aproximado (ANN) em um ou mais campos vetoriais, com um máximo de 3. Para os subparâmetros, consulte "parâmetros knn" abaixo.

-

query

Objeto

Não

As condições de filtragem escalar e busca de texto completo, expressas por meio de operadores de filtro. Para os operadores, consulte "Operadores de filtro" abaixo.

-

retriever

Objeto

Não

A configuração de fusão de recuperação de múltiplas vias, que mescla e reclassifica os resultados de várias vias de recuperação usando um algoritmo de fusão. Para os subparâmetros, consulte "parâmetros retriever" abaixo.

Ao usar o retriever, a solicitação pode incluir apenas indexName, limit, partitionKeys, returnMetadata e returnMetadataFields.

-

returnMetadata

Booleano

Não

Especifique se os metadados dos vetores devem ser retornados. O valor padrão é false.

true

returnMetadataFields

Array de strings

Não

Os nomes dos campos de metadados a serem retornados. Se este parâmetro não for especificado, todos os campos de metadados serão retornados. Campos vetoriais não podem ser especificados.

["price","tag"]

partitionKeys

Array de strings

Não

Os valores da chave de partição. Este parâmetro limita o escopo de busca às partições especificadas, o que melhora a eficiência da busca. Está disponível apenas quando uma chave de partição é definida no esquema do índice. Oferece suporte a no máximo 512 elementos, com um tamanho total de até 4 KB.

["user_1"]

limit

Inteiro

Não

O número máximo de resultados a serem retornados. O valor padrão é 10.

10

nextToken

String

Não

O token de paginação. A paginação é suportada apenas em um cenário de busca exclusiva por consulta (sem knn ou retriever). Passe o nextToken retornado pela solicitação anterior para obter a próxima página.

CAESABgB****

sort

Array de objetos

Não

Defina os campos de ordenação. Podem ser especificados no máximo 3.

  • A ordenação é suportada para campos long, double, bool, string (com exactMatch ativado) e ip, além de seus arrays.

  • A ordenação por pontuação de relevância _score é suportada, mas o _score aceita apenas ordem decrescente (desc).

[{"field":"price","order":"asc"}]

Parâmetros knn

O knn é um array de objetos. Cada elemento representa uma busca de vizinho mais próximo aproximado (ANN) em um campo vetorial, com um máximo de 3. Os subparâmetros são os seguintes:

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

field

String

Sim

O nome do campo vetorial a ser consultado. Deve ser um campo com type=vector no esquema.

vector_1

queryVector

Array de floats

Sim

O vetor de consulta. Sua dimensão deve ser consistente com a dimensão do campo vetorial especificado por field.

[0,1, 0,2, 0,3]

topK

Inteiro

Não

O número de vizinhos mais próximos a serem retornados. O valor padrão é 10.

10

filter

Objeto

Não

As condições de pré-filtragem para a busca vetorial. As condições escalares são aplicadas para filtrar primeiro e, em seguida, a busca vetorial é executada. Para os operadores de filtro, consulte "Operadores de filtro" abaixo.

-

numCandidates

Inteiro

Não

O tamanho do conjunto de candidatos para a busca vetorial. O valor não deve ser menor que topK. O valor padrão é igual a topK. Aumentar esse valor adequadamente pode melhorar a qualidade do recall, mas aumenta a sobrecarga da busca. Se você não tiver experiência em ajustar este parâmetro, recomendamos o uso do valor padrão do servidor.

100

boost

Float

Não

O coeficiente de peso para a pontuação desta via de busca vetorial. O valor padrão é 1,0.

1,0

Parâmetros retriever

O retriever é usado para a fusão de recuperação de múltiplas vias. Ele consiste em um retriever composto que aninha retrievers simples. O número total de retrievers é de no máximo 3 e no mínimo 1. O aninhamento de um retriever composto dentro de outro retriever composto não é suportado nesta versão.

  • Retriever composto: funde os resultados de múltiplos retrievers simples usando um algoritmo. Valores válidos:

    • rrf (Reciprocal Rank Fusion): funde os resultados ponderando o recíproco da classificação dos resultados de cada via. Parâmetros suportados:

      • k: a constante de suavização de classificação. Valores válidos: 1 a 65536. O valor padrão é 50.

      • windowSize: o tamanho da janela de resultados de cada via que participa da fusão. O valor padrão é 100.

      • weight: o peso deste retriever. O valor não deve ser menor que 0. O valor padrão é 1,0.

    • weight (fusão ponderada): normaliza as pontuações de cada via e, em seguida, calcula uma soma ponderada. Parâmetros suportados:

      • weight: o peso deste retriever. O valor padrão é 1,0.

      • normalizer: o método de normalização de pontuação. Valores válidos: none (sem normalização), minMax (normalização min-max) e l2 (normalização L2). O valor padrão é none.

      • windowSize: o tamanho da janela de resultados de cada via que participa da fusão.

  • Retriever simples: uma única source para fusão. Valores válidos:

    • knn: uma única via de busca vetorial. Os subparâmetros são os mesmos dos "parâmetros knn" acima.

    • query: uma única via de busca escalar e de texto completo. Os subparâmetros são os mesmos dos "Operadores de filtro" abaixo.

Operadores de filtro

Em query e filter, as condições de filtragem escalar e busca de texto completo são expressas usando operadores de filtro. Os operadores suportados são os seguintes:

Operador

Descrição

Tipo aplicável

$and

E lógico. Todas as subcondições (cláusulas) devem ser satisfeitas. Oferece suporte a boost (peso) e minShouldMatch (o número mínimo de correspondências).

Operador lógico

$or

OU lógico. Qualquer subcondição pode ser satisfeita. Oferece suporte a boost e minShouldMatch.

Operador lógico

$nor

NOR lógico. Nenhuma das subcondições (cláusulas) é satisfeita. Não oferece suporte a boost.

Operador lógico

$eq / $in / $exists

Indicam igual a, em um conjunto e campo existe, respectivamente. Oferecem suporte a boost (você pode usar a forma de objeto para transportar o boost).

Operador escalar

$ne / $nin

Indicam diferente de e não está em um conjunto, respectivamente.

Operador escalar

$gt / $gte / $lt / $lte

Indicam maior que, maior ou igual a, menor que e menor ou igual a, respectivamente. Para filtragem de intervalo bilateral, recomendamos o uso do operador $range para melhor desempenho.

Operador escalar

$range

Filtragem de intervalo. Expresse um intervalo combinando gt/gte/lt/lte. Oferece suporte a boost. gt e gte são mutuamente exclusivos, e lt e lte são mutuamente exclusivos.

Operador escalar

$textMatch

Correspondência tokenizada (busca de texto completo). Parâmetros suportados: operator (opcional, and/or, padrão or), minShouldMatch e boost. O texto de busca tem no máximo 512 bytes. Aplicável apenas a campos string com tokenização (text) ativada.

Operador de texto completo

$textMatchPhrase

Correspondência de frase (busca de texto completo), que exige que os termos correspondentes mantenham a mesma ordem e adjacência. Parâmetro suportado: boost. O texto de busca tem no máximo 512 bytes. Aplicável apenas a campos string com tokenização (text) ativada.

Operador de texto completo

$geoDistance

Busca por intervalo de distância, correspondendo a documentos dentro de um determinado raio centralizado em um ponto. Parâmetros suportados: centerPoint (a coordenada central, uma string no formato "latitude,longitude"), distanceInMeter (o raio a partir do centro, em metros, maior que 0) e boost. Aplicável apenas a campos geoPoint.

Operador geográfico

$geoBoundingBox

Busca por área retangular, correspondendo a documentos dentro do retângulo. Parâmetros suportados: topLeft (a coordenada do canto superior esquerdo) e bottomRight (a coordenada do canto inferior direito), ambas strings no formato "latitude,longitude"; também oferece suporte a boost. Aplicável apenas a campos geoPoint.

Operador geográfico

$geoPolygon

Busca por área poligonal, correspondendo a documentos dentro do polígono. Parâmetros suportados: points (um array de coordenadas de vértices do polígono, cada uma sendo uma string no formato "latitude,longitude", até 16 pontos) e boost. Aplicável apenas a campos geoPoint.

Operador geográfico

$matchAll

Corresponde a todos os documentos.

Operador de correspondência total

Exemplos de sintaxe de operadores

Os exemplos a seguir mostram a sintaxe de cada operador por categoria, incluindo a forma padrão e a forma com parâmetros personalizados. Substitua field_name nos exemplos pelo nome real do campo.

Operadores lógicos ($and / $or / $nor)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Operadores de igualdade / conjunto / existência ($eq / $ne / $in / $nin / $exists)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Operadores de intervalo ($gt / $gte / $lt / $lte / $range)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Operadores de busca de texto completo ($textMatch / $textMatchPhrase)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Operadores geográficos ($geoDistance / $geoBoundingBox / $geoPolygon)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Operador de correspondência total ($matchAll)

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}
Nota

Diferentes tipos de campos suportam diferentes operadores de filtro. Por exemplo, campos numéricos (long e double) suportam operadores de comparação e de intervalo; a capacidade de correspondência exata (exactMatch) de um campo string suporta operadores de igualdade, e operadores de texto completo são suportados após a tokenização ser ativada; campos geoPoint suportam operadores geográficos. Use os operadores com base nas capacidades configuradas para cada campo no esquema do índice.

Cabeçalhos de resposta

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

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

vectors

Array de objetos

A lista de resultados vetoriais atingidos pela busca.

-

key

String

O identificador exclusivo do vetor. Nó pai: vectors

key1

score

Float

A pontuação de relevância. Uma pontuação maior indica maior relevância. Nó pai: vectors

0,87

metadata

Objeto

Os metadados do vetor. É retornado apenas quando returnMetadata=true. Você pode usar returnMetadataFields para especificar os campos a serem retornados. Nó pai: vectors

-

nextToken

String

O token de paginação. É retornado apenas em um cenário de busca exclusiva por consulta e é usado para obter a próxima página de resultados.

CAESABgB****

Exemplos

Nota

Os valores de queryVector e dos vetores nos exemplos a seguir ilustram apenas a estrutura e estão truncados. Em chamadas reais, o comprimento do vetor deve corresponder exatamente à dimension declarada quando o índice é criado. Caso contrário, um erro de parâmetro inválido é retornado.

Busca vetorial de caminho único

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca vetorial com pré-filtragem (busca híbrida)

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Exemplo de resposta

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca apenas escalar (sem vetores)

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca de texto completo ($textMatch)

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca geográfica ($geoDistance)

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca híbrida: fusão RRF

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Exemplo de resposta

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Busca híbrida: fusão normalizada ponderada

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Exemplo de resposta

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

Paginação (nextToken)

Exemplo de solicitação

POST /?queryVectorsFusion 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

{
  "indexName": "kbindex",
  "query": {
    "$and": {
      "clauses": [
        { "title": { "$textMatch": { "value": "vector database" } } },
        { "year": { "$range": { "gte": 2024 } } }
      ]
    }
  },
  "nextToken": "CAESCG15aC1mESgEeKaGA",
  "limit": 50,
  "returnMetadata": true,
  "returnMetadataFields": ["title", "year"]
}

SDK

Os SDKs para QueryVectorsFusion em cada linguagem são os seguintes:

Interface de linha de comando ossutil

Para o comando ossutil correspondente ao QueryVectorsFusion, consulte query-vectors-fusion.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

MalformedJson

400

O corpo da solicitação não está em um formato JSON válido.

InvalidArgument

400

Os parâmetros de busca fornecidos na solicitação são inválidos. Por exemplo, a dimensão do vetor de consulta não corresponde ao índice, ou é usado um operador de filtro que o campo não suporta.

NoSuchVectorIndex

404

O índice vetorial especificado não existe.

AccessDenied

403

Acesso negado. Possíveis causas:

  • A solicitação não inclui as informações de autenticação necessárias.

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