Suporte do Milvus para vários tipos de índice
Milvus é um banco de dados vetorial open-source com recursos de última geração para busca por similaridade e aplicações de IA. Um dos recursos essenciais do Milvus é o suporte a vários tipos de Índice; os Índices ajudam a otimizar consultas e recuperação de dados.
Tipos de Índice
Atualmente, o Milvus oferece suporte a oito tipos de Índices:
- FLAT: FLAT é mais adequado para cenários que buscam resultados de busca perfeitamente precisos e exatos (taxa de recall de 100%) em um conjunto de dados pequeno, na escala de milhões. FLAT não comprime vetores e é o único índice que garante resultados de busca exatos. Os resultados do FLAT podem ser um ponto de comparação para resultados produzidos por outros índices com recall inferior a 100%.
- IVF_FLAT: IVF_FLAT é um índice baseado em quantização mais adequado para cenários que buscam um equilíbrio ideal entre precisão e velocidade de consulta (dados de baixa dimensionalidade com menos de 100.000 entradas). IVF_FLAT é um sistema que divide dados vetoriais em clusters e retorna resultados de busca por similaridade com base em comparações entre a entrada-alvo e os vetores no(s) cluster(s) mais semelhante(s). IVS_FLAT reduz drasticamente o tempo de consulta ao considerar o número de clusters consultados. Observe que IVF_FLAT não realiza nenhuma compressão, portanto os arquivos de índice que ele produz têm aproximadamente o mesmo tamanho que os dados vetoriais originais, brutos e não indexados.
- IV_SQ8: IVF_SQ8 é um índice baseado em quantização e é mais adequado para cenários que buscam uma redução significativa no consumo de memória de disco, CPU e GPU em situações em que esses recursos são limitados. IV_SQ8 pode alcançar isso convertendo cada FLOAT (4 bytes) em UINT8 (1 byte) por meio de quantização escalar. O índice IV_SQ8 é adequado para cenários de dados de baixa dimensionalidade com menos de 100.000 entradas.
- Índice HNSW: Hierarchical Navigable Small World (HNSW) é um índice baseado em grafo mais adequado para cenários com alta demanda por eficiência de busca. Este Índice cria uma estrutura semelhante a uma árvore para indexar os vetores. Portanto, é útil quando o conjunto de dados é enorme (grande conjunto de dados com muitas dimensões) e requer uma busca rápida. Ele constrói uma estrutura de navegação multicamadas para uma imagem de acordo com determinadas regras. Nessa estrutura, as camadas superiores são mais esparsas, e as distâncias entre os nós são maiores; as camadas inferiores são mais densas, e as distâncias entre os nós são menores. A busca começa pela camada mais alta, encontra o nó mais próximo do alvo nessa camada e então entra na próxima camada para iniciar outra busca. Após várias iterações, ela pode se aproximar rapidamente da posição-alvo.
- IVF_PQ: IVF_PQ é um índice baseado em quantização mais adequado para cenários que buscam alta velocidade de consulta de dados de alta dimensionalidade, mesmo ao custo da precisão. Ele decompõe uniformemente o espaço vetorial de alta dimensionalidade em produtos cartesianos de espaços vetoriais de baixa dimensionalidade e, em seguida, quantiza os espaços vetoriais de baixa dimensionalidade. A quantização de produto calcula as distâncias entre o vetor-alvo e o centro de agrupamento de cada espaço de baixa dimensionalidade, reduzindo a complexidade de tempo e espaço. O arquivo de índice IVF_PQ é menor (e menos preciso) que IVF_SQ8.
- ANNOY: ANNOY é um índice baseado em árvore mais adequado para cenários que buscam uma alta taxa de recall. Ele é prático para conjuntos de dados (com menos de 1 milhão de entradas) com alta dimensionalidade (e ao buscar vetores semelhantes).
- BIN_FLAT: Este Índice é adequado para dados de baixa dimensionalidade com menos de 100.000 entradas. Este índice é igual ao FLAT, exceto que BIN_FLAT é usado para embeddings binários.
- BIN_IVF_FLAT: Este Índice é adequado para conjuntos de dados de alta dimensionalidade com menos de 10 milhões de entradas ao buscar vetores semelhantes. Este índice é igual ao FLAT, exceto que BIN_IVF_FLAT é usado para embeddings binários.
Em Conclusão
O Milvus oferece suporte a vários tipos de Índice que ajudam a otimizar a consulta e a recuperação de dados para diferentes casos de uso. Escolher o tipo de Índice certo pode melhorar significativamente o desempenho de busca da sua aplicação.
Se você ainda está determinando qual tipo de Índice usar para o seu caso de uso específico, recomenda-se testar diferentes Índices e comparar seu desempenho. O Milvus pode proporcionar desempenho de busca ultrarrápido para suas aplicações de IA com o tipo de Índice e a configuração certos.
Próximos Passos
- Baixe o Milvus e comece
- Leia mais sobre os tipos de Índice do Milvus
- Confira os benchmarks do Milvus neste artigo
Continue lendo

What Is a Vector Lakebase?
A Vector Lakebase is a unified, lake-native data architecture for AI that combines vector-database-grade serving with open lake storage, reusable lake-level indexes, and a shared semantic layer.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

Top 10 Context Engineering Techniques You Should Know for Production RAG
A practical guide to context engineering for production LLM systems, covering RAG, context processing, memory, agents, and multimodal context.



