• Informazioni su Milvus
  • Iniziare
  • Concetti
  • Guida per l'utente
  • Importazione dei dati
  • Strumenti AI
  • Guida all'amministrazione
  • Strumenti
  • Integrazioni
  • Tutorial
  • Domande frequenti
  • API Reference

FLAT

L'indice FLAT è uno dei metodi più semplici e diretti per l'indicizzazione e la ricerca di vettori in virgola mobile. Si basa su un approccio a forza bruta, in cui ogni vettore interrogato viene confrontato direttamente con ogni vettore del set di dati, senza alcuna preelaborazione o strutturazione avanzata dei dati. Questo approccio garantisce l'accuratezza, offrendo un richiamo del 100%, poiché ogni potenziale corrispondenza viene valutata.

Tuttavia, questo metodo di ricerca esaustivo comporta degli svantaggi. L'indice FLAT è l'opzione di indicizzazione più lenta, poiché esegue una scansione completa del set di dati per ogni query. Di conseguenza, non è adatto ad ambienti con enormi insiemi di dati, dove le prestazioni sono un problema. Il vantaggio principale dell'indice FLAT è la sua semplicità e affidabilità, in quanto non richiede addestramento o complesse configurazioni di parametri.

Creazione dell'indice

Per costruire un indice FLAT su un campo vettoriale in Milvus, utilizzare il metodo add_index(), specificando i parametri index_type e metric_type per l'indice.

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
)

In questa configurazione:

  • index_type: Il tipo di indice da costruire. In questo esempio, impostare il valore su FLAT.

  • metric_type: Il metodo utilizzato per calcolare la distanza tra i vettori. I valori supportati sono COSINE, L2 e IP. Per i dettagli, fare riferimento a Tipi di metriche.

  • params: Per l'indice FLAT non sono necessari parametri aggiuntivi.

Una volta configurati i parametri dell'indice, è possibile creare l'indice utilizzando direttamente il metodo create_index() o passando i parametri dell'indice nel metodo create_collection. Per ulteriori informazioni, consultare la sezione Creare una raccolta.

Ricerca nell'indice

Una volta creato l'indice e inserite le entità, è possibile eseguire ricerche di similarità sull'indice.

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
)

Parametri dell'indice

Per l'indice FLAT, non sono necessari parametri aggiuntivi né durante la creazione dell'indice né durante il processo di ricerca.

Try Managed Milvus for Free

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

Get Started
Feedback

Questa pagina è stata utile?