Todos os produtos
Search
Central de documentação

DashVector:retrieve docs

Última atualização: Jun 29, 2026

O método Collection.query() pesquisa documentos semelhantes a um vetor fornecido ou ao vetor de um documento armazenado em uma coleção do DashVector. Também é possível recuperar documentos usando apenas um filtro de metadados.

Modos de consulta

O método Collection.query() oferece suporte a cinco modos de consulta, conforme os parâmetros fornecidos:

Modo

Parâmetros obrigatórios

Descrição

Busca vetorial

vector

Localiza os documentos mais próximos de um vetor denso especificado

Busca por chave primária

id

Encontra os documentos mais próximos do vetor de um documento existente

Busca vetorial filtrada

vector ou id + filter

Combina a busca por similaridade com filtragem de metadados

Busca híbrida

vector + sparse_vector

Une vetores densos e esparsos para busca semântica com reconhecimento de palavras-chave

Consulta por correspondência

Apenas filter

Recupera documentos mediante filtro de metadados, sem classificação por similaridade

Se você não especificar nem vector nem id, o método query() executa uma consulta por correspondência usando exclusivamente o filtro condicional.

Pré-requisitos

Antes de começar, verifique se você tem:

Assinatura da API

Collection.query(
    vector: Optional[Union[List[Union[int, float]], np.ndarray]] = None,
    id: Optional[str] = None,
    topk: int = 10,
    filter: Optional[str] = None,
    include_vector: bool = False,
    partition: Optional[str] = None,
    output_fields: Optional[List[str]] = None,
    sparse_vector: Optional[Dict[int, float]] = None,
    async_req: False
) -> DashVectorResponse

Parâmetros da solicitação

Parâmetro

Tipo

Padrão

Descrição

vector

Optional[Union[List[Union[int, float]], np.ndarray]]

None

Vetor denso para busca por similaridade.

id

Optional[str]

None

Chave primária de um documento existente. A busca usa o vetor desse documento.

topk

int

10

Número máximo de resultados a retornar, classificados por similaridade.

filter

Optional[str]

None

Filtro condicional com sintaxe da cláusula WHERE do SQL. Consulte Filtragem condicional.

include_vector

bool

False

Defina se os dados do vetor devem ser incluídos na resposta.

partition

Optional[str]

None

Nome da partição. Restringe o escopo da busca a uma partição específica.

output_fields

Optional[List[str]]

None

Campos a retornar. Por padrão, todos os campos são retornados.

sparse_vector

Optional[Dict[int, float]]

None

Vetor esparso para busca semântica com reconhecimento de palavras-chave. Cada chave representa um índice de dimensão e cada valor corresponde ao peso.

async_req

bool

False

Indica se o modo assíncrono deve ser ativado.

Resposta

O método query() retorna um objeto DashVectorResponse:

Campo

Tipo

Descrição

Exemplo

code

int

Código de status. O valor 0 indica sucesso. Consulte Códigos de status.

0

message

str

Mensagem de status.

success

request_id

str

Identificador exclusivo da solicitação.

19215409-ea66-4db9-8764-26ce2eb5bb99

output

List[<code data-tag="code" class="inline-code___exakR" id="code_d6787a3c">Doc</code>]

Resultados da busca por similaridade.

--

Exemplos

Todos os exemplos abaixo usam a seguinte configuração de cliente. Substitua os espaços reservados pelos valores reais:

Espaço reservado

Descrição

YOUR_API_KEY

Sua chave de API obtida no console do DashVector

YOUR_CLUSTER_ENDPOINT

URL do endpoint do seu cluster

import dashvector
import numpy as np

client = dashvector.Client(
    api_key='YOUR_API_KEY',
    endpoint='YOUR_CLUSTER_ENDPOINT'
)

# Get the target collection
collection = client.get(name='quickstart')
Crie a coleção quickstart e insira documentos antes de executar estes exemplos. Consulte Crie uma coleção e Inserir documentos .

Busca por vetor

Forneça um vetor denso para localizar os documentos mais semelhantes.

ret = collection.query(
    vector=[0.1, 0.2, 0.3, 0.4]
)
# Check whether the query method is successfully called.
if ret:
    print('query success')
    print(len(ret))
    for doc in ret:
        print(doc)
        print(doc.id)
        print(doc.vector)
        print(doc.fields)

Para personalizar o conjunto de resultados, especifique topk, output_fields e include_vector:

ret = collection.query(
    vector=[0.1, 0.2, 0.3, 0.4],
    topk=100,
    output_fields=['name', 'age'],  # Only the name and age fields need to be returned.
    include_vector=True
)

Busca por chave primária

Use o parâmetro id para pesquisar com o vetor de um documento armazenado, sem fornecer os valores do vetor diretamente.

ret = collection.query(
    id='1'
)
# Check whether the query method is successfully called.
if ret:
    print('query success')
    print(len(ret))
    for doc in ret:
        print(doc)
        print(doc.id)
        print(doc.vector)
        print(doc.fields)

Combine id com topk e output_fields da mesma forma que na busca vetorial:

ret = collection.query(
    id='1',
    topk=100,
    output_fields=['name', 'age'],  # Only the name and age fields need to be returned.
    include_vector=True
)

Busca com filtro condicional

Adicione o parâmetro filter para refinar os resultados por metadados. O filtro segue a sintaxe da cláusula WHERE do SQL.

# Perform a similarity search by using the vector or primary key and a conditional filter.
ret = collection.query(
    vector=[0.1, 0.2, 0.3, 0.4],   # Specify a vector for search. Alternatively, you can specify a primary key for search.
    topk=100,
    filter='age > 18',             # Specify a conditional filter to perform a match query on documents whose value of the age field is greater than 18.
    output_fields=['name', 'age'], # Only the name and age fields need to be returned.
    include_vector=True
)
Dica: Combine filter com id em vez de vector para filtrar resultados de uma busca baseada em chave primária.

Busca híbrida com vetores densos e esparsos

Combine um vetor denso com um vetor esparso para executar uma busca semântica com reconhecimento de palavras-chave. O vetor esparso representa pesos de palavras-chave que complementam a incorporação densa.

# Perform a similarity search by using both dense and sparse vectors.
ret = collection.query(
    vector=[0.1, 0.2, 0.3, 0.4],   # Specify a vector for search.
    sparse_vector={1: 0.3, 20: 0.7}
)

Consulte Busca semântica com reconhecimento de palavras-chave para obter detalhes sobre a configuração.

Consulta por correspondência apenas com filtro

Omita vector e id para recuperar documentos baseando-se exclusivamente em condições de metadados, sem classificação por similaridade.

# Perform a match query only by using a conditional filter without specifying a vector or primary key.
ret = collection.query(
    topk=100,
    filter='age > 18',             # Specify a conditional filter to perform a match query on documents whose value of the age field is greater than 18.
    output_fields=['name', 'age'], # Only the name and age fields need to be returned.
    include_vector=True
)

Próximos passos