View a markdown version of this page

Funzionalità e limiti di ricerca - Amazon ElastiCache

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

È inoltre possibile utilizzare la ricerca sui cluster esistenti eseguendo l'aggiornamento da qualsiasi versione di Valkey o Redis OSS alle versioni Valkey sopra menzionate, in pochi clic e senza tempi di inattività.

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:

Limiti 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 and backfill.

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) per l'accesso ai comandi e ai dati sono estesi per controllare la funzione di ricerca. Il controllo ACL dei singoli comandi di ricerca è completamente supportato. Viene fornita una nuova categoria ACL e molte delle categorie esistenti (@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.