La cláusula kvpairs pasa valores de campo a la parte mutable de una expresión de ordenamiento durante la consulta. Esto permite proporcionar valores a funciones específicas mediante una cláusula de consulta. En lugar de definir los valores directamente en la expresión de ordenamiento, utilice kvpairs para suministrarlos de forma dinámica; así mantendrá su lógica de ordenamiento flexible y reutilizable en distintas consultas.
Sintaxis
kvpairs=key1:value1,key2:value2,...
|
Componente |
Separador |
Descripción |
|
|
|
Nombre del campo al que se hace referencia en la expresión de ordenamiento |
|
|
|
Valor asignado a dicho campo |
|
Varios pares |
|
Separe varios pares clave-valor con comas |
Notas de uso
La cláusula kvpairs es opcional.
Ejemplos
Pasar un campo a una cláusula distinct
Busque documentos que contengan "alibaba". Los resultados se agrupan por company_id: se devuelve un documento por grupo y se descartan los demás.
query=default:'alibaba'&&distinct=dist_key:company_id,dist_count:1,dist_times:1,reserved:false&&kvpairs=duniqfield:company_id
Pasar condiciones de coincidencia a una función
Busque documentos que contengan "alibaba" mediante la condición de coincidencia 13=10:100=1. La expresión de ordenamiento fino utiliza la función tag_match en un campo de etiqueta INT_ARRAY. Este campo contiene varios pares de atributos.
El parámetro query_key en kvpairs almacena la cadena de la condición de coincidencia que usa tag_match para evaluar los pares de atributos del campo de etiqueta: se suman los valores de los atributos coincidentes y se conserva la suma mayor entre todas las claves coincidentes.
query=default:'alibaba'&&kvpairs=query_key:13=10:100=1 //The fine sort expression is tag_match(query_key, tags, sum, max, true, true).