FT.CREATE

FT.CREATE crea un indice disponibile 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 un indice con lo stesso nome esiste già. È stato restituito un errore.

  • ON HASH (facoltativo): indica il tipo di dati HASH. Solo il tipo di dati HASH è supportati.

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

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

Tipi di campo

  • 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): conteggio totale degli attributi di nomi e valori passati nella configurazione dell'algoritmo.

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

      • 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 - 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 il valore di questo parametro per ogni query eseguita. Valori più elevati aumentano i tempi di query, ma migliorano il richiamo delle query.

        • (Facoltativo) M: il conteggio dei limiti massimi consentiti in uscita per ciascun nodo nel 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ù alti aumentano il tempo necessario per creare 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 obbligatori per l'algoritmo FLAT:

        • 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:

        • (Facoltativo) INITIAL_CAP: 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