すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:kvpairs 句

最終更新日:Aug 22, 2026

kvpairs 句を使用すると、クエリ時にソート式の可変部分にフィールド値を渡し、クエリ句を介して特定の特徴関数に値を動的に指定できます。ソート式に値をハードコーディングする代わりに、kvpairs を使用して動的に値を渡すことで、ソートロジックを柔軟かつ再利用可能な状態に保つことができます。

構文

kvpairs=key1:value1,key2:value2,...
コンポーネント区切り文字説明
key: (コロン)ソート式で参照されるフィールド名です。
value:そのフィールドに割り当てられる値です。
複数のペア, (カンマ)複数のキーと値のペアはカンマで区切ります。

使用上の注意

  • kvpairs 句は省略可能です。

例

distinct 句へのフィールドの受け渡し

"alibaba" を含むドキュメントを検索します。結果は company_id でグループ化され、各グループから 1 つのドキュメントが返され、残りは破棄されます。

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

特徴関数への一致条件の受け渡し

マッチ条件 13=10:100=1 を使用して、「alibaba」を含むドキュメントを検索します。ファインソート式は、INT_ARRAY タグフィールドで tag_match 関数を使用します。タグフィールドには、複数の属性ペアが含まれています。

kvpairs の query_key は一致条件文字列を保持し、tag_match はこの文字列を使用して tag フィールドの属性ペアを評価します。その際、一致する属性の値が合計され、一致したすべてのキーの中で最大の合計値が保持されます。

query=default:'alibaba'&&kvpairs=query_key:13=10:100=1  // 高度なソート式は tag_match(query_key, tags, sum, max, true, true) です。