🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
Home
  • Guía del usuario

Operadores JSON

Milvus soporta operadores avanzados para consultar y filtrar campos JSON, haciéndolos perfectos para gestionar datos complejos y estructurados. Estos operadores permiten una consulta altamente efectiva de documentos JSON, permitiéndole recuperar entidades basadas en elementos específicos, valores o condiciones dentro de los campos JSON. Esta sección le guiará a través del uso de operadores específicos JSON en Milvus, proporcionando ejemplos prácticos para ilustrar su funcionalidad.

Los campos JSON no pueden manejar estructuras anidadas complejas y tratan todas las estructuras anidadas como cadenas simples. Por lo tanto, cuando se trabaja con campos JSON, es aconsejable evitar el anidamiento excesivamente profundo y asegurarse de que sus estructuras de datos son tan planas como sea posible para un rendimiento óptimo.

Operadores JSON disponibles

Milvus proporciona varios potentes operadores JSON que ayudan a filtrar y consultar datos JSON, y estos operadores son.

Exploremos estos operadores con ejemplos para ver cómo se pueden aplicar en situaciones reales.

JSON_CONTAINS

El operador json_contains comprueba si existe un elemento o subarray específico dentro de un campo JSON. Es útil cuando quieres asegurarte de que un array u objeto JSON contiene un valor concreto.

Ejemplo

Imagine que tiene una colección de productos, cada uno con un campo tags que contiene una matriz JSON de cadenas, como ["electronics", "sale", "new"]. Quiere filtrar los productos que tienen la etiqueta "sale".

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

En este ejemplo, Milvus devolverá todos los productos cuyo campo tags contenga el elemento "sale".

JSON_CONTAINS_ALL

El operador json_contains_all garantiza que todos los elementos de una expresión JSON especificada estén presentes en el campo de destino. Resulta especialmente útil cuando es necesario buscar múltiples valores dentro de una matriz JSON.

Ejemplo

Siguiendo con el escenario de las etiquetas de producto, si desea encontrar todos los productos que tengan las etiquetas "electronics", "sale", y "new", puede utilizar el operador json_contains_all.

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

Esta consulta devolverá todos los productos cuya matriz tags contenga los tres elementos especificados: "electronics", "sale", y "new".

JSON_COTAINS_ANY

El operador json_contains_any filtra las entidades en las que existe al menos un miembro de la expresión JSON dentro del campo. Resulta útil cuando se desea buscar entidades en función de uno de varios valores posibles.

Ejemplo

Supongamos que desea filtrar productos que tengan al menos una de las etiquetas "electronics", "sale", o "new". Puede utilizar el operador json_contains_any para conseguirlo.

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

En este caso, Milvus le devolverá todos los productos que tengan al menos una de las etiquetas de la lista ["electronics", "new", "clearance"]. Incluso si un producto sólo tiene una de estas etiquetas, se incluirá en el resultado.

Try Managed Milvus for Free

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

Get Started
Feedback

¿Fue útil esta página?