Tous les produits
Search
Centre de documentation

OpenSearch:Kvpairs clause

Dernière mise à jour :Aug 22, 2026

La clause kvpairs transmet des valeurs de champ à la partie modifiable d'une expression de tri au moment de la requête. Elle permet de fournir des valeurs à des fonctions de caractéristiques spécifiques via une clause de requête. Plutôt que d'encoder les valeurs en dur dans l'expression de tri, utilisez kvpairs pour les transmettre dynamiquement, ce qui rend votre logique de tri flexible et réutilisable d'une requête à l'autre.

Syntaxe

kvpairs=key1:value1,key2:value2,...
Composant Séparateur Description
key : (deux-points) Nom du champ référencé dans l'expression de tri
value : (deux-points) Valeur attribuée à ce champ
Plusieurs paires , (virgule) Séparez plusieurs paires clé-valeur par des virgules

Notes d'utilisation

  • La clause kvpairs est facultative.

Exemples

Transmettre un champ à une clause distinct

Recherchez les documents contenant « alibaba ». Les résultats sont regroupés par company_id : un seul document est renvoyé par groupe et les autres sont ignorés.

query=default:'alibaba'&&distinct=dist_key:company_id,dist_count:1,dist_times:1,reserved:false&&kvpairs=duniqfield:company_id

Transmettre des conditions de correspondance à une fonction de caractéristique

Recherchez les documents contenant « alibaba » en utilisant la condition de correspondance 13=10:100=1. L'expression de tri fin utilise la fonction tag_match sur un champ de tag INT_ARRAY. Le champ de tag contient plusieurs paires d'attributs.

Le paramètre query_key dans kvpairs contient la chaîne de condition de correspondance. La fonction tag_match l'utilise pour évaluer les paires d'attributs dans le champ de tag : les valeurs des attributs correspondants sont additionnées et la somme la plus élevée parmi toutes les clés mises en correspondance est conservée.

query=default:'alibaba'&&kvpairs=query_key:13=10:100=1  //The fine sort expression is tag_match(query_key, tags, sum, max, true, true).