🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
Home
  • Guide de l'utilisateur

Opérateurs de base

Milvus fournit un ensemble riche d'opérateurs de base pour vous aider à filtrer et à interroger efficacement les données. Ces opérateurs vous permettent d'affiner vos conditions de recherche en fonction de champs scalaires, de calculs numériques, de conditions logiques, etc. Il est essentiel de comprendre comment utiliser ces opérateurs pour élaborer des requêtes précises et maximiser l'efficacité de vos recherches.

Opérateurs de comparaison

Les opérateurs de comparaison sont utilisés pour filtrer les données en fonction de l'égalité, de l'inégalité ou de la taille. Ils s'appliquent aux champs numériques, de texte et de date.

Opérateurs de comparaison pris en charge.

  • == (égal à)

  • != (différent de)

  • > (Supérieur à)

  • < (inférieur à)

  • >= (supérieur ou égal)

  • <= (Inférieur ou égal)

Exemple 1 : Filtrage avec Equal To (==)

Supposons que vous disposiez d'un champ nommé status et que vous souhaitiez trouver toutes les entités pour lesquelles status est "actif". Vous pouvez utiliser l'opérateur d'égalité ==.

filter = 'status == "active"'

Exemple 2 : Filtrage avec Not Equal To (!=)

Pour trouver les entités où status n'est pas "inactif".

filter = 'status != "inactive"'

Exemple 3 : Filtrage avec Greater Than (>)

Pour trouver toutes les entités dont l'adresse age est supérieure à 30.

filter = 'age > 30'

Exemple 4 : Filtrage avec Less Than (<)

Pour trouver les entités dont l'adresse price est inférieure à 100.

filter = 'price < 100'

Exemple 5 : Filtrage avec une valeur supérieure ou égale à (>=)

Pour trouver toutes les entités dont le site rating est supérieur ou égal à 4.

filter = 'rating >= 4'

Exemple 6 : Filtrage avec une valeur inférieure ou égale à (<=)

Pour trouver les entités dont l'adresse discount est inférieure ou égale à 10 %.

filter = 'discount <= 10'

Opérateurs de plage

Les opérateurs de plage permettent de filtrer les données en fonction d'ensembles ou de plages de valeurs spécifiques.

Opérateurs de plage pris en charge.

  • IN: Utilisés pour faire correspondre des valeurs à l'intérieur d'un ensemble ou d'une plage spécifique.

  • LIKE: Utilisé pour faire correspondre un modèle (principalement pour les champs de texte).

Exemple 1 : Utilisation de IN pour faire correspondre plusieurs valeurs

Si vous souhaitez trouver toutes les entités dont la valeur color est soit "rouge", soit "verte", soit "bleue".

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

C'est utile lorsque vous souhaitez vérifier l'appartenance à une liste de valeurs.

Exemple 2 : utilisation de LIKE pour la recherche de motifs

L'opérateur LIKE est utilisé pour la recherche de motifs dans les champs de type chaîne de caractères. Il peut faire correspondre des sous-chaînes à différentes positions dans le texte : en tant que préfixe, infixe ou suffixe. L'opérateur LIKE utilise le symbole % comme caractère de remplacement, qui peut correspondre à n'importe quel nombre de caractères (y compris zéro).

Correspondance de préfixes (commence par)

Pour effectuer une recherche par préfixe, où la chaîne commence par un motif donné, vous pouvez placer le motif au début et utiliser % pour rechercher tous les caractères qui le suivent. Par exemple, pour trouver tous les produits dont le site name commence par "Prod".

filter = 'name LIKE "Prod%"'

Cela correspondra à tous les produits dont le nom commence par "Prod", tels que "Produit A", "Produit B", etc.

Correspondance par suffixe (se termine par)

Pour une correspondance par suffixe, lorsque la chaîne se termine par un motif donné, placez le symbole % au début du motif. Par exemple, pour trouver tous les produits dont le site name se termine par "XYZ".

filter = 'name LIKE "%XYZ"'

Cette recherche portera sur tous les produits dont le nom se termine par "XYZ", tels que "ProductXYZ", "SampleXYZ", etc.

Correspondance infixe (contient)

Pour effectuer une correspondance infixe, où le motif peut apparaître n'importe où dans la chaîne, vous pouvez placer le symbole % au début et à la fin du motif. Par exemple, pour trouver tous les produits dont le site name contient le mot "Pro".

filter = 'name LIKE "%Pro%"'

Cela correspondra à tous les produits dont le nom contient la sous-chaîne "Pro", comme "Product", "ProLine" ou "SuperPro".

Opérateurs arithmétiques

Les opérateurs arithmétiques vous permettent de créer des conditions basées sur des calculs impliquant des champs numériques.

Opérateurs arithmétiques pris en charge.

  • + (Addition)

  • - (Soustraction)

  • * (Multiplication)

  • / (division)

  • % (Modulus)

  • ** (exponentiation)

Exemple 1 : Utilisation de l'addition (+)

Pour trouver les entités dont le prix total est la somme de base_price et tax.

filter = 'total == base_price + tax'

Exemple 2 : Utilisation de la soustraction (-)

Pour trouver les entités où quantity est supérieur à 50 et quantity_sold est inférieur à 30.

filter = 'quantity - quantity_sold > 50'

Exemple 3 : Utilisation de la multiplication (*)

Pour trouver les entités où price est supérieur à 100 et quantity est supérieur à 10, multiplié.

filter = 'price * quantity > 1000'

Exemple 4 : Utilisation de la division (/)

Pour trouver des produits où total_price divisé par quantity est inférieur à 50.

filter = 'total_price / quantity < 50'

Exemple 5 : Utilisation du module (%)

Pour trouver des entités dont le id est un nombre pair (c'est-à-dire divisible par 2).

filter = 'id % 2 == 0'

Exemple 6 : Utilisation de l'exponentiation (**)

Pour trouver les entités où price élevé à la puissance 2 est supérieur à 1000.

filter = 'price ** 2 > 1000'

Opérateurs logiques

Les opérateurs logiques sont utilisés pour combiner plusieurs conditions dans une expression de filtre plus complexe. Ils comprennent AND, OR, et NOT.

Opérateurs logiques pris en charge.

  • AND: Combine plusieurs conditions qui doivent toutes être vraies.

  • OR: Combine des conditions dont au moins une doit être vraie.

  • NOT: Négation d'une condition.

Exemple 1 : Utilisation de AND pour combiner des conditions

Trouver tous les produits pour lesquels price est supérieur à 100 et stock est supérieur à 50.

filter = 'price > 100 AND stock > 50'

Exemple 2 : Utilisation de OR pour combiner des conditions

Pour trouver tous les produits pour lesquels color est soit "rouge", soit "bleu".

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

Exemple 3 : Utilisation de NOT pour exclure une condition

Pour trouver tous les produits pour lesquels color n'est pas "vert".

filter = 'NOT color == "green"'

Conseils sur l'utilisation des opérateurs de base avec les champs JSON et ARRAY

Si les opérateurs de base de Milvus sont polyvalents et peuvent être appliqués à des champs scalaires, ils peuvent également être utilisés efficacement avec les clés et les index des champs JSON et ARRAY.

Par exemple, si vous avez un champ product qui contient plusieurs clés comme price, model, et tags, faites toujours référence à la clé directement.

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

Pour trouver les enregistrements dont la première température d'un tableau de températures enregistrées dépasse une certaine valeur, utilisez .

filter = 'history_temperatures[0] > 30'

Conclusion

Milvus propose une gamme d'opérateurs de base qui vous offrent une grande souplesse dans le filtrage et l'interrogation de vos données. En combinant des opérateurs de comparaison, de plage, arithmétiques et logiques, vous pouvez créer des expressions de filtrage puissantes pour réduire les résultats de vos recherches et récupérer efficacement les données dont vous avez besoin.

Try Managed Milvus for Free

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

Get Started
Feedback

Cette page a-t - elle été utile ?