🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI
Casa
  • Guida per l'utente

Operatori JSON

Milvus supporta operatori avanzati per interrogare e filtrare i campi JSON, rendendoli perfetti per la gestione di dati complessi e strutturati. Questi operatori consentono di interrogare in modo estremamente efficace i documenti JSON, permettendo di recuperare entità in base a elementi, valori o condizioni specifiche all'interno dei campi JSON. Questa sezione vi guiderà nell'uso degli operatori specifici per JSON in Milvus, fornendo esempi pratici per illustrarne la funzionalità.

I campi JSON non possono gestire strutture complesse e annidate e trattano tutte le strutture annidate come semplici stringhe. Pertanto, quando si lavora con i campi JSON, è consigliabile evitare annidamenti troppo profondi e assicurarsi che le strutture di dati siano il più possibile piatte per ottenere prestazioni ottimali.

Operatori JSON disponibili

Milvus fornisce diversi potenti operatori JSON che aiutano a filtrare e interrogare i dati JSON.

Esploriamo questi operatori con degli esempi per vedere come possono essere applicati in scenari reali.

JSON_CONTAINS

L'operatore json_contains verifica l'esistenza di un elemento o di una sotto-riga specifica all'interno di un campo JSON. È utile quando si vuole garantire che un array o un oggetto JSON contenga un particolare valore.

Esempio

Si immagini di avere un insieme di prodotti, ciascuno con un campo tags che contiene un array JSON di stringhe, come ["electronics", "sale", "new"]. Si desidera filtrare i prodotti che hanno il tag "sale".

# JSON data: {"tags": ["electronics", "sale", "new"]}
filter = 'json_contains(tags, "sale")'

In questo esempio, Milvus restituirà tutti i prodotti in cui il campo tags contiene l'elemento "sale".

JSON_CONTAINS_ALL

L'operatore json_contains_all assicura che tutti gli elementi di un'espressione JSON specificata siano presenti nel campo di destinazione. È particolarmente utile quando è necessario abbinare più valori all'interno di un array JSON.

Esempio

Continuando con lo scenario dei tag dei prodotti, se si vogliono trovare tutti i prodotti che hanno i tag "electronics", "sale", e "new", si può usare l'operatore json_contains_all.

# JSON data: {"tags": ["electronics", "sale", "new", "discount"]}
filter = 'json_contains_all(tags, ["electronics", "sale", "new"])'

Questa query restituirà tutti i prodotti in cui l'array tags contiene i tre elementi specificati: "electronics", "sale" e "new".

JSON_COTAINS_ANY

L'operatore json_contains_any filtra le entità in cui almeno un membro dell'espressione JSON esiste all'interno del campo. È utile quando si desidera abbinare le entità in base a uno qualsiasi dei valori possibili.

Esempio

Supponiamo di voler filtrare i prodotti che hanno almeno uno dei tag "electronics", "sale", o "new". Per ottenere questo risultato, è possibile utilizzare l'operatore json_contains_any.

# JSON data: {"tags": ["electronics", "sale", "new"]}
filter = 'json_contains_any(tags, ["electronics", "new", "clearance"])'

In questo caso, Milvus restituirà tutti i prodotti che hanno almeno uno dei tag dell'elenco ["electronics", "new", "clearance"]. Anche se un prodotto ha solo uno di questi tag, sarà incluso nel risultato.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Questa pagina è stata utile?