Todos os produtos
Search
Central de documentação

OpenSearch:Cláusula kvpairs

Última atualização: Aug 22, 2026

A cláusula kvpairs passa valores de campos para a parte mutável de uma expressão de ordenação durante a consulta, permitindo fornecer valores a funções de recursos específicas por meio de uma cláusula de consulta. Em vez de definir valores fixos na expressão de ordenação, use kvpairs para fornecê-los dinamicamente e manter a lógica de ordenação flexível e reutilizável em diferentes consultas.

Sintaxe

kvpairs=key1:value1,key2:value2,...

Componente

Separador

Descrição

key

: (dois pontos)

Nome do campo referenciado na expressão de ordenação

value

: (dois pontos)

Valor atribuído a esse campo

Vários pares

, (vírgula)

Separe vários pares chave-valor com vírgulas

Observações de uso

  • A cláusula kvpairs é opcional.

Exemplos

Passar um campo para uma cláusula distinct

Pesquise documentos que contenham "alibaba". Os resultados são agrupados por company_id: apenas um documento é retornado por grupo e os demais são descartados.

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

Passar condições de correspondência para uma função de recurso

Pesquise documentos que contenham "alibaba" usando a condição de correspondência 13=10:100=1. A expressão de ordenação fina usa a função tag_match em um campo de tag INT_ARRAY. Esse campo de tag contém vários pares de atributos.

O parâmetro query_key em kvpairs armazena a string da condição de correspondência. A função tag_match usa essa string para avaliar os pares de atributos no campo de tag: os valores dos atributos correspondentes são somados e a maior soma entre todas as chaves correspondentes é retida.

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