FLAT
O índice FLAT é um dos métodos mais simples e diretos para indexar e pesquisar vectores de vírgula flutuante. Baseia-se numa abordagem de força bruta, em que cada vetor de consulta é diretamente comparado com todos os vectores do conjunto de dados, sem qualquer pré-processamento avançado ou estruturação de dados. Esta abordagem garante a exatidão, oferecendo 100% de recuperação, uma vez que cada correspondência potencial é avaliada.
No entanto, este método de pesquisa exaustiva tem algumas desvantagens. O índice FLAT é a opção de indexação mais lenta em comparação com outros tipos de índice no Milvus, uma vez que efectua uma pesquisa completa do conjunto de dados para cada consulta. Consequentemente, não é adequado para ambientes com conjuntos de dados maciços, onde o desempenho é uma preocupação. A principal vantagem do índice FLAT é a sua simplicidade e fiabilidade, uma vez que não requer formação ou configurações de parâmetros complexas.
Criar índice
Para construir um índice FLAT
num campo vetorial em Milvus, utilize o método add_index()
, especificando os parâmetros index_type
e metric_type
para o índice.
from pymilvus import MilvusClient
# Prepare index building params
index_params = MilvusClient.prepare_index_params()
index_params.add_index(
field_name="your_vector_field_name", # Name of the vector field to be indexed
index_type="FLAT", # Type of the index to create
index_name="vector_index", # Name of the index to create
metric_type="L2", # Metric type used to measure similarity
params={} # No additional parameters required for FLAT
)
Nesta configuração:
index_type
: O tipo de índice a construir. Neste exemplo, defina o valor paraFLAT
.metric_type
: O método utilizado para calcular a distância entre vectores. Os valores suportados incluemCOSINE
,L2
, eIP
. Para obter detalhes, consulte Tipos de métricas.params
: Não são necessários parâmetros extra para o índice FLAT.
Assim que os parâmetros do índice estiverem configurados, pode criar o índice utilizando diretamente o método create_index()
ou passando os parâmetros do índice no método create_collection
. Para obter detalhes, consulte Criar coleção.
Pesquisar no índice
Assim que o índice for criado e as entidades forem inseridas, pode efetuar pesquisas de semelhança no índice.
res = MilvusClient.search(
collection_name="your_collection_name", # Collection name
data=[[0.1, 0.2, 0.3, 0.4, 0.5]], # Query vector
limit=3, # TopK results to return
search_params={"params": {}} # No additional parameters required for FLAT
)
Parâmetros do índice
Para o índice FLAT, não são necessários parâmetros adicionais durante a criação do índice ou o processo de pesquisa.