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à.
Funzionalità e limiti di ricerca
Cerca disponibilità
ElastiCache La versione 9.0 e successive di Valkey forniscono supporto per carichi di lavoro puri non vettoriali, vettoriali e ibridi, tra cui ricerche numeriche, Tag (exact-match) e aggregazioni su Full-text cluster basati su nodi in tutte le regioni senza costi aggiuntivi. AWS
ElastiCache La versione 8.2 di Valkey fornisce supporto per la ricerca vettoriale su cluster basati su nodi in tutte le regioni senza costi aggiuntivi. AWS
La ricerca è attualmente disponibile su tutti i tipi di ElastiCache istanze diversi dai nodi con suddivisione in più livelli dei dati. L'utilizzo della ricerca su istanze t2, t3 e t4g richiede l'aumento della riserva di memoria ad almeno il 50% per le istanze micro e al 30% per le istanze piccole. Consulta questa pagina per saperne di più.
Restrizioni parametriche
La tabella seguente mostra i limiti per i vari elementi di ricerca:
| Elemento | Valore massimo (9,0+) | Valore massimo (8.2) |
|---|---|---|
| Numero di dimensioni in un vettore | 32768 | 32768 |
| Numero di indici che possono essere creati | 1000 | 10 |
| Numero di campi in un indice | 1000 | 50 |
| FT.SEARCH Clausola TIMEOUT (millisecondi) | 60000 | 60000 |
| Numero massimo di prefissi consentiti per indice | 16 | 16 |
| Lunghezza massima di un campo di tag | 10000 | 10000 |
| Lunghezza massima di un campo numerico | 256 | 256 |
| Parametro HNSW M | 2000000 | 2000000 |
| Parametro HNSW EF_CONSTRUCTION | 1000000 | 4096 |
| Parametro HNSW EF_RUNTIME | 1000000 | 4096 |
| Numero di termini che è possibile utilizzare in una stringa di query nei comandi FT.SEARCH/FT.AGGREGATE | 1000 | 16 |
| Numero di attributi di testo consentiti per indice | 64 | N/A |
| Espansioni massime di parole di testo nelle ricerche con prefisso, suffisso, fuzzy e termine Stem | 200 | N/A |
Restrizioni operative
Persistenza e riempimento dell'indice
Puoi leggere ulteriori informazioni su questo argomento su Valkey search index creation
Limiti di scalabilità
Nella versione 9.0 di ElastiCache Valkey, durante gli eventi di ridimensionamento, l'RPS di scrittura può ridursi per la durata dell'evento. Nella versione 8.2 di ElastiCache Valkey, durante gli eventi di ridimensionamento, l'indice può subire un riempimento durante la migrazione dei dati e ciò comporterà una riduzione del richiamo per le query di ricerca.
import/export Snapshot e migrazione in tempo reale
I file RDB di un cluster con indici di ricerca possono essere importati in un altro cluster ElastiCache Valkey con versione 8.2 o successiva. Il nuovo cluster ricostruirà il contenuto dell'indice durante il caricamento del file RDB. Tuttavia, la presenza di indici di ricerca in un file RDB limita la compatibilità di tali dati con le versioni precedenti di Valkey. Il formato degli indici di ricerca definiti dalla funzionalità di ricerca vettoriale è compreso solo da un altro ElastiCache cluster con Valkey versione 8.2 o successiva. Tuttavia, i file RDB che non contengono indici non sono soggetti a restrizioni in questo modo.
Memoria insufficiente durante il riempimento
Analogamente alle operazioni di scrittura di Valkey OSS, un riempimento dell'indice è soggetto a limitazioni relative all'esaurimento della memoria. Se la memoria del motore è piena mentre è in corso un riempimento, tutti i riempimenti vengono messi in pausa. Se la memoria diventa disponibile, il processo di riempimento viene ripreso. È possibile eliminare un indice quando il riempimento è in pausa a causa dell'esaurimento della memoria.
Transazioni
I comandi FT.CREATE eFT.DROPINDEX, non possono essere eseguiti in un contesto transazionale, cioè non all'interno di un MULTI/EXEC blocco o all'interno di uno script LUA o FUNCTION. Inoltre, i FT.AGGREGATE comandi FT.SEARCH and non possono essere eseguiti in un contesto transazionale in un ElastiCache Valkey Cluster che opera in modalità Cluster.
Sicurezza della ricerca
I meccanismi di sicurezza Valkey ACL (Access Control Lists)@fast, @read@write, ecc.) vengono aggiornate per includere i nuovi comandi. @search I comandi di ricerca non modificano i dati chiave, il che significa che il meccanismo ACL esistente per l'accesso in scrittura viene preservato. Le regole di accesso HASH e le JSON operazioni non vengono modificate dalla presenza di un indice; il normale controllo dell'accesso a livello di chiave viene ancora applicato a tali comandi.
L'accesso ai comandi di ricerca con un indice è inoltre controllato tramite ACL. I controlli di accesso vengono eseguiti a livello dell'intero indice, non a livello di chiave. Ciò significa che l'accesso a un indice viene concesso a un utente solo se tale utente è autorizzato ad accedere a tutte le chiavi possibili all'interno dell'elenco dei prefissi dello spazio chiave di quell'indice. In altre parole, il contenuto effettivo di un indice non controlla l'accesso. Piuttosto, sono i contenuti teorici di un indice, come definito dall'elenco dei prefissi, che viene utilizzato per il controllo di sicurezza. Sono possibili situazioni in cui un utente ha accesso in lettura e and/or scrittura a una chiave ma non è in grado di accedere a un indice contenente quella chiave. Tieni presente che per creare o utilizzare un indice è necessario solo l'accesso in lettura allo spazio delle chiavi: la presenza o l'assenza dell'accesso in scrittura non viene considerata.