🚀 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 básicos

Milvus fornece um conjunto rico de operadores básicos para o ajudar a filtrar e consultar dados de forma eficiente. Estes operadores permitem-lhe refinar as suas condições de pesquisa com base em campos escalares, cálculos numéricos, condições lógicas, e muito mais. Compreender como usar estes operadores é crucial para construir consultas precisas e maximizar a eficiência das suas pesquisas.

Operadores de comparação

Os operadores de comparação são utilizados para filtrar dados com base na igualdade, desigualdade ou tamanho. Eles são aplicáveis a campos numéricos, de texto e de data.

Operadores de comparação suportados.

  • == (Igual a)

  • != (Não igual a)

  • > (Maior que)

  • < (Menor que)

  • >= (Maior que ou igual a)

  • <= (Menor ou igual a)

Exemplo 1: Filtragem com Equal To (==)

Suponha que tem um campo chamado status e quer encontrar todas as entidades em que status está "ativo". Você pode usar o operador de igualdade ==.

filter = 'status == "active"'

Exemplo 2: Filtragem com Not Equal To (!=)

Para encontrar entidades onde status não é "inativo".

filter = 'status != "inactive"'

Exemplo 3: Filtragem com Greater Than (>)

Se você quiser encontrar todas as entidades com um age maior que 30.

filter = 'age > 30'

Exemplo 4: Filtrando com Menor que (<)

Para encontrar entidades onde price é menor que 100.

filter = 'price < 100'

Exemplo 5: Filtrando com Maior ou Igual a (>=)

Se você quiser encontrar todas as entidades com rating maior ou igual a 4.

filter = 'rating >= 4'

Exemplo 6: Filtrando com Menor que ou Igual a (<=)

Para encontrar entidades com discount menor ou igual a 10%.

filter = 'discount <= 10'

Operadores de intervalo

Os operadores de intervalo ajudam a filtrar dados com base em conjuntos específicos ou intervalos de valores.

Operadores de intervalo suportados.

  • IN: Utilizados para fazer a correspondência de valores dentro de um conjunto ou intervalo específico.

  • LIKE: Usado para corresponder a um padrão (principalmente para campos de texto).

Exemplo 1: Usando IN para corresponder a vários valores

Se você quiser encontrar todas as entidades onde o color é "vermelho", "verde" ou "azul".

filter = 'color in ["red", "green", "blue"]'

Isso é útil quando se deseja verificar a associação em uma lista de valores.

Exemplo 2: Usando LIKE para correspondência de padrão

O operador LIKE é utilizado para correspondência de padrões em campos de cadeia de caracteres. Ele pode corresponder substrings em diferentes posições dentro do texto: como um prefixo, infixo ou sufixo. O operador LIKE utiliza o símbolo % como um wildcard, que pode corresponder a qualquer número de caracteres (incluindo zero).

Correspondência de prefixo (começa com)

Para efetuar uma correspondência de prefixo, em que a cadeia de caracteres começa com um determinado padrão, pode colocar o padrão no início e utilizar % para corresponder a quaisquer caracteres a seguir. Por exemplo, para encontrar todos os produtos cujo name comece por "Prod".

filter = 'name LIKE "Prod%"'

Isto irá corresponder a qualquer produto cujo nome comece por "Prod", como "Produto A", "Produto B", etc.

Correspondência de sufixo (termina com)

Para uma correspondência de sufixo, em que a cadeia de caracteres termina com um determinado padrão, coloque o símbolo % no início do padrão. Por exemplo, para encontrar todos os produtos cujo name termina com "XYZ".

filter = 'name LIKE "%XYZ"'

Isto corresponderá a qualquer produto cujo nome termine com "XYZ", como "ProductXYZ", "SampleXYZ", etc.

Correspondência de infixos (Contém)

Para efetuar uma correspondência infixa, em que o padrão pode aparecer em qualquer parte da cadeia de caracteres, pode colocar o símbolo % no início e no fim do padrão. Por exemplo, para encontrar todos os produtos cujo name contenha a palavra "Pro".

filter = 'name LIKE "%Pro%"'

Isso corresponderá a qualquer produto cujo nome contenha a substring "Pro", como "Product", "ProLine" ou "SuperPro".

Operadores aritméticos

Os operadores aritméticos permitem-lhe criar condições com base em cálculos que envolvem campos numéricos.

Operadores aritméticos suportados.

  • + (Adição)

  • - (Subtração)

  • * (Multiplicação)

  • / (Divisão)

  • % (Módulo)

  • ** (Exponenciação)

Exemplo 1: Utilizar a adição (+)

Para encontrar entidades onde o preço total é a soma de base_price e tax.

filter = 'total == base_price + tax'

Exemplo 2: Usando Subtração (-)

Para encontrar entidades onde quantity é maior que 50 e quantity_sold é menor que 30.

filter = 'quantity - quantity_sold > 50'

Exemplo 3: Usando Multiplicação (*)

Para encontrar entidades onde price é maior que 100 e quantity é maior que 10, multiplicado.

filter = 'price * quantity > 1000'

Exemplo 4: Utilizar a divisão (/)

Para encontrar produtos em que total_price dividido por quantity é menor que 50.

filter = 'total_price / quantity < 50'

Exemplo 5: Usando Modulus (%)

Para encontrar entidades onde o id é um número par (ou seja, divisível por 2).

filter = 'id % 2 == 0'

Exemplo 6: Usando Exponenciação (**)

Para encontrar entidades onde price elevado à potência de 2 é maior que 1000.

filter = 'price ** 2 > 1000'

Operadores lógicos

Os operadores lógicos são usados para combinar várias condições em uma expressão de filtro mais complexa. Estes incluem AND, OR, e NOT.

Operadores lógicos suportados.

  • AND: Combina várias condições que devem ser todas verdadeiras.

  • OR: Combina condições em que pelo menos uma deve ser verdadeira.

  • NOT: Nega uma condição.

Exemplo 1: Usando AND para combinar condições

Para encontrar todos os produtos em que price é maior que 100 e stock é maior que 50.

filter = 'price > 100 AND stock > 50'

Exemplo 2: Usando OR para combinar condições

Para encontrar todos os produtos em que color é "red" (vermelho) ou "blue" (azul).

filter = 'color == "red" OR color == "blue"'

Exemplo 3: Usando NOT para excluir uma condição

Para encontrar todos os produtos em que color não seja "verde".

filter = 'NOT color == "green"'

Dicas sobre como usar operadores básicos com campos JSON e ARRAY

Embora os operadores básicos do Milvus sejam versáteis e possam ser aplicados a campos escalares, eles também podem ser usados de forma eficaz com as chaves e índices nos campos JSON e ARRAY.

Por exemplo, se tiver um campo product que contenha várias chaves como price, model, e tags, faça sempre referência à chave diretamente.

filter = 'product["price"] > 1000'

Para encontrar registos em que a primeira temperatura de uma matriz de temperaturas registadas excede um determinado valor, utilize.

filter = 'history_temperatures[0] > 30'

Conclusão

O Milvus oferece uma gama de operadores básicos que lhe dão flexibilidade na filtragem e consulta dos seus dados. Ao combinar operadores de comparação, de intervalo, aritméticos e lógicos, pode criar expressões de filtragem poderosas para restringir os resultados da pesquisa e obter os dados de que necessita de forma eficiente.

Try Managed Milvus for Free

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

Get Started
Feedback

Esta página foi útil?