Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
FT.CREATE
Il FT.CREATE comando crea un indice vuoto e avvia il processo di riempimento. Ogni indice è composto da una serie di definizioni di campo. Ogni definizione di campo specifica un nome di campo, un tipo di campo e un percorso all'interno di ciascuna chiave indicizzata per individuare un valore del tipo dichiarato. Alcune definizioni dei tipi di campo hanno identificatori di sottotipo aggiuntivi.
Per gli indici sulle chiavi HASH, il percorso è lo stesso del nome del membro hash. La AS clausola opzionale può essere utilizzata per rinominare il campo, se lo si desidera. La ridenominazione dei campi è particolarmente utile quando il nome del membro contiene caratteri speciali.
Per gli indici su chiavi JSON, il percorso è un percorso JSON per i dati del tipo dichiarato. Poiché il percorso JSON contiene sempre caratteri speciali, la clausola è obbligatoria. AS
Sintassi
FT.CREATE <index-name> ON HASH | JSON [PREFIX <count> <prefix1> [<prefix2>...]] SCHEMA (<field-identifier> [AS <alias>] | VECTOR [HNSW|FLAT] <attr_count> [<attribute_name> <attribute_value>]) | TAG [SEPARATOR <sep>] [CASESENSITIVE] | NUMERIC )+
(obbligatorio): <index-name>Questo è il nome che dai al tuo indice. Se esiste già un indice con lo stesso nome, viene restituito un errore.
ON HASH | JSON (opzionale): in questo indice sono incluse solo le chiavi che corrispondono al tipo specificato. Se omesso, viene utilizzato HASH.
PREFIX (opzionale): <prefix-count><prefix>se viene specificata questa clausola, in questo indice verranno incluse solo le chiavi che iniziano con gli stessi byte di uno o più prefissi specificati. Se questa clausola viene omessa, verranno incluse tutte le chiavi del tipo corretto. Un prefisso di lunghezza zero corrisponderebbe anche a tutte le chiavi del tipo corretto.
Tipi di campo:
TAG: un campo tag è una stringa che contiene uno o più valori di tag.
SEPARATORE <sep>(opzionale): uno dei caratteri
,.<>{}[]"':;!@#$%^&*()-+=~utilizzati per delimitare i singoli tag. Se omesso, il valore predefinito è.,CASESENSITIVE (opzionale): se presente, i confronti tra tag faranno distinzione tra maiuscole e minuscole. L'impostazione predefinita è che i confronti tra tag NON fanno distinzione tra maiuscole e minuscole.
NUMERICO: Un campo numerico contiene un numero.
VETTORE: Un campo vettoriale contiene un vettore. Attualmente sono supportati due algoritmi di indicizzazione vettoriale: HNSW (Hierarchical Navigable Small World) e FLAT (forza bruta). Ogni algoritmo ha una serie di attributi aggiuntivi, alcuni obbligatori e altri opzionali.
FLAT: L'algoritmo Flat fornisce risposte esatte, ma ha un'autonomia proporzionale al numero di vettori indicizzati e pertanto potrebbe non essere appropriato per set di dati di grandi dimensioni.
DIM <number>(obbligatorio): specifica il numero di dimensioni in un vettore.
TIPO FLOAT32 (obbligatorio): tipo di dati, attualmente è supportato solo FLOAT32 .
DISTANCE_METRIC [L2 | IP | COSINE] (obbligatorio): specifica l'algoritmo di distanza.
<size>INITIAL_CAP (opzionale): dimensione iniziale dell'indice.
HNSW: l'algoritmo HNSW fornisce risposte approssimative, ma funziona molto più velocemente di FLAT.
DIM <number>(obbligatorio): specifica il numero di dimensioni in un vettore.
TIPO FLOAT32 (obbligatorio): tipo di dati, attualmente è supportato solo FLOAT32 .
DISTANCE_METRIC [L2 | IP | COSINE] (obbligatorio): specifica l'algoritmo di distanza.
<size>INITIAL_CAP (opzionale): dimensione iniziale dell'indice.
M <number>(opzionale): numero massimo di bordi in uscita consentiti per ogni nodo del grafico in ogni livello. Sul livello zero, il numero massimo di spigoli in uscita sarà 2*M. Il valore predefinito è 16, il massimo è 512.
EF_CONSTRUCTION <number>(opzionale): controlla il numero di vettori esaminati durante la costruzione dell'indice. Valori più alti per questo parametro miglioreranno il rapporto di richiamo a scapito di tempi più lunghi di creazione dell'indice. Il valore predefinito è 200. Il valore massimo è 4096.
EF_RUNTIME <number>(opzionale): controlla il numero di vettori da esaminare durante un'operazione di interrogazione. L'impostazione predefinita è 10 e il massimo è 4096. È possibile impostare questo valore di parametro per ogni query eseguita. Valori più alti aumentano i tempi di interrogazione, ma migliorano il richiamo delle query.
RISPOSTA: OK o errore.