Tous les produits
Search
Centre de documentation

:in et notin

Dernière mise à jour :Aug 19, 2026

Fonctionnalités des fonctions

Configurez les champs référencés dans les paramètres des fonctions en tant que champs d'index ou d'attribut, conformément à la description de chaque fonction.

Configurez tout champ de document utilisé comme paramètre de fonction en tant qu'index ou attribut, selon les exigences de la fonction spécifique.

in ou notin : vérifie si les valeurs d'un champ figurent dans une liste spécifique

1. Syntaxe

in(field, "number1|number2")notin(field, "number1|number2")

2. Paramètres

field : nom du champ à évaluer. Seuls les champs de type INT, LITERAL, FLOAT ou DOUBLE sont pris en charge. Les champs de type ARRAY ou TEXT ainsi que l'analyseur pour les recherches floues ne sont pas pris en charge. number N : éléments d'un ensemble. Séparez plusieurs éléments par des barres verticales (|). Chaque élément doit être une chaîne de caractères.

3. Valeurs de retour

true/false

4. Scénarios

Scénario 1 : Récupérez les documents contenant « iphone » et dont le champ type a pour valeur 1, 2 ou 3. Le champ type doit être de type INT.

query=default:'iphone'&&filter=in(type, '1|2|3')

Scénario 2 : Récupérez les documents contenant « iphone » et dont le champ type n'a pas pour valeur 1, 2 ou 3. Le champ type doit être de type INT32.

query=default:'iphone'&&filter=notin(type, '1|2|3')

5. Remarques sur l'utilisation

  • Configurez le champ référencé dans les paramètres des fonctions en tant que champ d'attribut.

  • Si vous utilisez la fonction in ou notin dans des clauses filter, vous ne pouvez pas utiliser de champs de type ARRAY. Dans le cas contraire, le système renvoie l'erreur de syntaxe suivante avec le code d'erreur 6141 : Filter clause syntax error.

  • La fonction in(field, "value1|value2") équivaut à (field = value1) OR (field = value2). Toutefois, la fonction in offre de meilleures performances. Le même principe s'applique à la fonction notin.

  • La transmission d'un grand nombre de valeurs (par exemple, des milliers) aux fonctions in ou notin peut dégrader considérablement les performances des requêtes. Une liste de valeurs plus longue augmente la charge de calcul pour le filtrage, ce qui peut entraîner une latence plus élevée voire un délai d'expiration.

  • Si vous devez transmettre un grand nombre de valeurs, divisez la liste en lots plus petits (par exemple, 500 valeurs ou moins par lot) pour des requêtes séparées, puis combinez leurs résultats.