FT.CREATE

FT.CREATE crea un indice per la ricerca.

Sintassi

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (obbligatorio): il nome assegnato all'indice. Se esiste già un indice con lo stesso nome, viene restituito un errore.

  • ON HASH (facoltativo): indica il tipo di dati HASH. È supportato solo il tipo di dati HASH.

  • PREFIX [count] [prefix] (facoltativo): indica le chiavi hash da indicizzare.

  • SCHEMA hash_field_name (obbligatorio): il nome del campo hash_field_name dopo SCHEMA identifica il nome del campo nell'hash. [AS alias] assegna il nome alias come alias per l'attributo nome campo.

Tipi di campi

  • VECTOR (obbligatorio): campo vettoriale per la ricerca vettoriale:

    • [HNSW|FLAT] (obbligatorio): algoritmo designato. FLAT (forza bruta) o HNSW (Hierarchical Navigable Small World).

    • attribute_count (obbligatorio): numero totale di nomi e valori degli attributi passati nella configurazione dell'algoritmo.

    • attribute_name attribute_value: coppie chiave/valore che definiscono la configurazione dell'indice, ma sono specifiche per uno dei due algoritmi disponibili.

      • Attributi dell'algoritmo HNSW obbligatori:

        • DIM (obbligatorio): numero di dimensioni del vettore. I valori accettati sono 1-32768.

        • TYPE (obbligatorio): il tipo di vettore. È supportato solo FLOAT32.

        • DISTANCE_METRIC (obbligatorio): deve essere uno dei seguenti valori: L2, IP o COSINE.

      • Attributi facoltativi dell'algoritmo HNSW:

        • EF_RUNTIME (facoltativo): imposta il conteggio dei vettori da esaminare durante un'operazione di query. Il valore predefinito è 10 e il valore massimo è 4096. Puoi impostare questo valore parametro per ogni query eseguita. Valori più elevati aumentano i tempi di query, ma migliorano il richiamo delle query.

        • M (facoltativo): il conteggio degli archi in uscita massimi consentiti per ogni nodo del grafico in ogni livello. Il numero massimo di archi in uscita è 2 milioni per il livello 0. Il valore predefinito è 16. Il numero massimo è 512.

        • EF_CONSTRUCTION (facoltativo): imposta il conteggio dei vettori da esaminare durante la creazione dell'indice. Il valore predefinito è 200 e il valore massimo è 4096. Valori più elevati aumentano il tempo necessario per creare gli indici, ma migliorano il rapporto di richiamo.

        • INITIAL_CAP (facoltativo): determina la capacità del vettore iniziale dell'indice. Il valore predefinito è 1024. Questo parametro determina l'allocazione della memoria dell'indice.

      • Attributi dell'algoritmo FLAT obbligatori:

        • DIM (obbligatorio): numero di dimensioni del vettore.

        • TYPE (obbligatorio): il tipo di vettore. È supportato solo FLOAT32.

        • DISTANCE_METRIC (obbligatorio): deve essere uno dei seguenti valori: L2, IP o COSINE.

      • Attributi facoltativi dell'algoritmo FLAT:

        • INITIAL_CAP (facoltativo): determina la capacità del vettore iniziale dell'indice. Questo parametro determina l'allocazione della memoria dell'indice.

Esempi

Esempio di HNSW:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100

Esempio di FLAT:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000