Todos os produtos
Search
Central de documentação

Vector Retrieval Service for Milvus:Gerencie índices vetoriais

Última atualização: Jun 29, 2026

Índices vetoriais usam esquemas e algoritmos avançados, como Inverted File (IVF) e Hierarchical Navigable Small World (HNSW), para compactar o espaço vetorial e localizar os pontos de dados mais semelhantes em grandes conjuntos de dados. A criação de índices em campos vetoriais melhora significativamente as taxas de recall e a velocidade de resposta em aplicações como reconhecimento de imagem, recuperação de voz e sistemas de recomendação.

Informações básicas

O Milvus oferece suporte a diversos tipos de índice para recuperação eficiente por similaridade e disponibiliza três métricas de distância: Similaridade de Cosseno (COSINE), Distância Euclidiana (L2) e Produto Interno (IP). Para otimizar o desempenho da recuperação, crie índices nos campos vetoriais e escalares consultados com frequência.

Pré-requisitos

Preparação

Antes de gerenciar índices, crie uma coleção. Há duas abordagens:

Opção 1: Crie uma coleção com índices

Para criar e carregar um índice junto com a coleção:

  • Especifique a dimensão do campo vetorial (dimension)

  • Forneça os parâmetros relacionados ao índice (incluindo metric_type e a configuração do índice)

Opção 2: Crie uma coleção sem índice

O trecho de código a seguir adota essa abordagem. A coleção criada não contém índice e não é carregada automaticamente na memória:

from pymilvus import MilvusClient, DataType

client = MilvusClient(
    uri="http://c-xxxx.milvus.aliyuncs.com:19530",  # The public endpoint of the Milvus instance.
    token="<yourUsername>:<yourPassword>",  # The username and password for the Milvus instance.
    db_name="default"  # The name of the database to connect to. This example uses the default database.
)

schema = MilvusClient.create_schema(
    auto_id=False,
    enable_dynamic_field=True,
)

schema.add_field(field_name="id", datatype=DataType.INT64, is_primary=True)
schema.add_field(field_name="vec", datatype=DataType.FLOAT_VECTOR, dim=5)

client.create_collection(
    collection_name="<yourCollectionName>",
    schema=schema,
)

Crie um índice

Para criar um índice, chame a função create_index e passe os index_params definidos.

index_params = MilvusClient.prepare_index_params()
# Define the index parameters.
index_params.add_index(
    field_name="vec",          # Specify the vector field name, such as "vec".
    metric_type="L2",          # Set the metric type, such as L2.
    index_type="IVF_PQ",       # Set the index type, such as IVF_PQ.
    index_name="vector_index"  # Set the index name as needed.
)

# Create the index.
client.create_index(
    collection_name="<yourCollectionName>",
    index_params=index_params
)

Visualize índice

res = client.describe_index(
    collection_name="<yourCollectionName>",
    index_name="<yourIndexName>"
)

print(res)

Exclua um índice

client.drop_index(
    collection_name="<yourCollectionName>",
    index_name="<yourIndexName>"
)