🚀 Experimente o Zilliz Cloud, o Milvus totalmente gerenciado, gratuitamente—experimente um desempenho 10x mais rápido! Experimente Agora>>

milvus-logo
LFAI
Home
  • Guia do utilizador

Operadores JSON

Milvus suporta operadores avançados para consulta e filtragem de campos JSON, tornando-os perfeitos para a gestão de dados complexos e estruturados. Estes operadores permitem uma consulta altamente eficaz de documentos JSON, permitindo-lhe recuperar entidades com base em elementos específicos, valores ou condições dentro dos campos JSON. Esta secção irá guiá-lo através da utilização de operadores específicos de JSON no Milvus, fornecendo exemplos práticos para ilustrar a sua funcionalidade.

Os campos JSON não podem lidar com estruturas complexas e aninhadas e tratam todas as estruturas aninhadas como strings simples. Por conseguinte, ao trabalhar com campos JSON, é aconselhável evitar aninhamentos excessivamente profundos e garantir que as suas estruturas de dados são tão planas quanto possível para um desempenho ótimo.

Operadores JSON disponíveis

Milvus fornece vários operadores JSON poderosos que ajudam a filtrar e consultar dados JSON, e esses operadores são.

Vamos explorar esses operadores com exemplos para ver como eles podem ser aplicados em cenários do mundo real.

JSON_CONTAINS

O operador json_contains verifica se um elemento específico ou uma submatriz existe num campo JSON. É útil quando se pretende garantir que uma matriz ou objeto JSON contém um determinado valor.

Exemplo

Imagine que você tem uma coleção de produtos, cada um com um campo tags que contém uma matriz JSON de cadeias de caracteres, como ["electronics", "sale", "new"]. Pretende filtrar os produtos que têm a etiqueta "sale".

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

Neste exemplo, o Milvus devolverá todos os produtos em que o campo tags contém o elemento "sale".

JSON_CONTAINS_ALL

O operador json_contains_all garante que todos os elementos de uma expressão JSON especificada estão presentes no campo de destino. É particularmente útil quando é necessário fazer corresponder vários valores numa matriz JSON.

Exemplo

Continuando com o cenário das etiquetas de produto, se pretender encontrar todos os produtos que tenham as etiquetas "electronics", "sale", e "new", pode utilizar o operador json_contains_all.

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

Essa consulta retornará todos os produtos em que a matriz tags contém os três elementos especificados: "electronics", "sale", e "new".

JSON_COTAINS_ANY

O operador json_contains_any filtra entidades em que pelo menos um membro da expressão JSON existe no campo. Isto é útil quando se pretende fazer corresponder entidades com base em qualquer um de vários valores possíveis.

Exemplo

Digamos que pretende filtrar produtos que tenham pelo menos uma das etiquetas "electronics", "sale", ou "new". Pode utilizar o operador json_contains_any para o conseguir.

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

Neste caso, o Milvus devolverá todos os produtos que tenham pelo menos uma das etiquetas da lista ["electronics", "new", "clearance"]. Mesmo que um produto tenha apenas uma destas etiquetas, será incluído no resultado.

Try Managed Milvus for Free

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

Get Started
Feedback

Esta página foi útil?