FLAT

El índice FLAT es uno de los métodos más sencillos y directos para indexar y buscar vectores de coma flotante. Se basa en un enfoque de fuerza bruta, en el que cada vector de consulta se compara directamente con todos los vectores del conjunto de datos, sin ningún preprocesamiento avanzado ni estructuración de datos. Este método garantiza la precisión y ofrece una recuperación del 100%, ya que se evalúan todas las posibles coincidencias.

Sin embargo, este método de búsqueda exhaustiva tiene sus inconvenientes. El índice FLAT es la opción de indexación más lenta, ya que realiza una exploración completa del conjunto de datos para cada consulta. Por consiguiente, no es adecuado para entornos con conjuntos de datos masivos, en los que el rendimiento es un problema. La principal ventaja del índice FLAT es su sencillez y fiabilidad, ya que no requiere entrenamiento ni complejas configuraciones de parámetros.

Construir el índice

Para construir un índice FLAT sobre un campo vectorial en Milvus, utilice el método add_index(), especificando los parámetros index_type y metric_type para el í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
)

En esta configuración

  • index_type: El tipo de índice a construir. En este ejemplo, establezca el valor FLAT.

  • metric_type: El método utilizado para calcular la distancia entre vectores. Los valores soportados incluyen COSINE, L2, y IP. Para más detalles, consulte Tipos de métricas.

  • params: No se necesitan parámetros adicionales para el índice FLAT.

Una vez configurados los parámetros del índice, puede crear el índice utilizando directamente el método create_index() o pasando los parámetros del índice en el método create_collection. Para más detalles, consulte Crear colección.

Búsqueda en el índice

Una vez creado el índice e insertadas las entidades, puede realizar búsquedas de similitud en el índice.

res = MilvusClient.search(
    collection_name="your_collection_name", # Collection name
    anns_field="vector_field", # Vector field 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 del índice

Para el índice FLAT, no se necesitan parámetros adicionales ni durante la creación del índice ni durante el proceso de búsqueda.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

¿Fue útil esta página?