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à.
Filtraggio dei metadati
Nota
Amazon S3 Vectors è in versione di anteprima per Amazon Simple Storage Service ed è soggetto a modifiche.
Il filtraggio dei metadati consente di filtrare i risultati delle query in base a attributi specifici associati ai vettori. È possibile utilizzare i filtri dei metadati con le operazioni di interrogazione per trovare vettori che soddisfino sia i criteri di somiglianza che le condizioni specifiche dei metadati.
S3 Vectors supporta due tipi di metadati: metadati filtrabili e metadati non filtrabili. La differenza fondamentale è che i metadati filtrabili possono essere utilizzati nei filtri di interrogazione ma hanno limiti di dimensione più rigorosi, mentre i metadati non filtrabili non possono essere utilizzati nei filtri ma possono archiviare grandi quantità di dati entro i limiti di dimensione. Per ulteriori informazioni sui limiti dei metadati, inclusi i limiti di dimensione per vettore e il numero massimo di chiavi di metadati per vettore, consulta. Limitazioni e restrizioni
Metadati filtrabili
I metadati filtrabili consentono di filtrare i risultati delle query in base a valori di metadati specifici. Per impostazione predefinita, tutti i campi di metadati sono filtrabili in una query di somiglianza, a meno che non sia esplicitamente specificato come non filtrabile durante la creazione dell'indice vettoriale. S3 Vectors supporta i tipi di metadati di tipo stringa, numerico, booleano ed elenco con un limite di dimensione per vettore. Il tipo di metadati è ideale per gli attributi in base ai quali si desidera filtrare, come categorie, timestamp o valori di stato.
Se la dimensione dei metadati supera i limiti supportati, l'operazione PutVectorsAPI restituirà un errore. 400 Bad Request
Per ulteriori informazioni sul limite di dimensione dei metadati filtrabili per vettore, consulta. Limitazioni e restrizioni
Le seguenti operazioni possono essere utilizzate con metadati filtrabili.
Operatore | Tipi di input validi | Descrizione |
---|---|---|
$eq |
Stringa, numero, booleano | Confronto esatto delle corrispondenze per valori singoli. Quando si confronta con un valore di metadati di una matrice, restituisce true se il valore di input corrisponde a qualsiasi elemento dell'array. Ad esempio, |
$ne |
Stringa, numero, booleano | Confronto non uguale |
$gt |
Numero | Più grande del confronto |
$gte |
Numero | Confronto maggiore o uguale |
$lt |
Numero | Meno del confronto |
$lte |
Numero | Confronto inferiore o uguale |
$in |
Matrice di primitive non vuota | Corrisponde a qualsiasi valore nell'array |
$nin |
Matrice di primitive non vuota | Non corrisponde a nessuno dei valori dell'array |
$exists |
Booleano | Controlla se il campo esiste |
$and |
Matrice di filtri non vuota | AND logico di più condizioni |
$or |
Matrice di filtri non vuota | OR logico di più condizioni |
Esempi di metadati filtrabili validi
- Uguaglianza semplice
-
{"genre": "documentary"}
Questo filtro corrisponde ai vettori in cui la chiave dei metadati del genere è uguale a «documentario». Quando non si specifica un operatore, S3 Vectors utilizza automaticamente l'operatore $eq.
- Uguaglianza esplicita
-
// Example: Exact match {"genre": {"$eq": "documentary"}}
// Example: Not equal to {"genre": {"$ne": "drama"}}
- Confronto numerico
-
{"year": {"$gt": 2019}}
{"year": {"$gte": 2020}}
{"year": {"$lt": 2020}}
{"year": {"$lte": 2020}}
- Operazioni sugli array
-
{"genre": {"$in": ["comedy", "documentary"]}}
{"genre": {"$nin": ["comedy", "documentary"]}}
- Controllo dell'esistenza
-
{"genre": {"$exists": true}}
Il
$exists
filtro corrisponde ai vettori che hanno una chiave di metadati di «genere», indipendentemente dal valore archiviato per quella chiave di metadati. - Operazioni logiche
-
{"$and": [{"genre": {"$eq": "drama"}}, {"year": {"$gte": 2020}}]}
{"$or": [{"genre": {"$eq": "drama"}}, {"year": {"$gte": 2020}}]}
- Fascia di prezzo (più condizioni sullo stesso campo)
-
{"price": {"$gte": 10, "$lte": 50}}
Per ulteriori informazioni su come interrogare i vettori con il filtraggio dei metadati, consulta. Filtraggio dei metadati
Metadati non filtrabili
I metadati non filtrabili non possono essere utilizzati nei filtri di query, ma possono archiviare quantità maggiori di dati contestuali rispetto ai metadati filtrabili. È ideale per archiviare blocchi di testo di grandi dimensioni, descrizioni dettagliate o altre informazioni contestuali che non devono necessariamente essere ricercabili ma possono essere restituite con i risultati delle query. Ad esempio, è possibile archiviare il testo completo del documento, le descrizioni delle immagini o le specifiche dettagliate del prodotto come metadati non filtrabili.
Le chiavi di metadati non filtrabili devono essere configurate in modo esplicito durante la creazione dell'indice vettoriale. Una volta che una chiave di metadati è stata designata come non filtrabile durante la creazione dell'indice, non può essere modificata in modo da renderla filtrabile in un secondo momento. È possibile configurare più chiavi di metadati come non filtrabili per indice vettoriale, con ogni nome di chiave di metadati limitato a 63 caratteri. Per ulteriori informazioni sul numero massimo di chiavi di metadati non filtrabili consentite per indice vettoriale, consulta. Limitazioni e restrizioni
Sebbene non sia possibile filtrare i metadati non filtrabili, è possibile recuperarli insieme ai risultati delle query utilizzando il parametro. return-metadata
Puoi utilizzare metadati non filtrabili per alcuni casi d'uso come segue.
Utilizzatelo per fornire un contesto all'applicazione senza analizzare fonti di dati separate.
Archivia blocchi di testo più grandi che supererebbero i limiti di dimensione dei metadati filtrabili.
Includilo nelle esportazioni vettoriali utilizzando l'operazione API. ListVectors
Per ulteriori informazioni sulla configurazione dei metadati non filtrabili, consulta. Creazione di un indice vettoriale in un bucket vettoriale