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

OpenSearch:高度ソート関数

最終更新日:Apr 01, 2026

高度ソート式は、基本ソートで得られた候補ドキュメントにスコアを付与し、最も高い順位の結果を返します。アプリケーションごとにカスタムのソート式を定義し、検索クエリに渡すことで、結果の順位付けを制御できます。ソート式では、基本操作(算術演算、比較演算、論理演算、ビット演算、条件付き演算)、数学関数、および本ページで説明する特徴量関数がサポートされます。

説明

基本操作(算術演算、比較演算、論理演算、条件付き演算)は、数値または NUMERIC 型のフィールド値を必要とします。ほとんどの関数ベースの操作は、STRING 型の値には適用できません。

テキスト関連性

テキスト関連性関数を使用して、ドキュメントの内容が検索クエリとどれだけ一致しているかを測定します。

関数戻り値
text_relevance検索クエリとフィールド値間のテキスト関連性スコア
field_match_ratioフィールド内の一致した用語数とそのフィールド内の総用語数との比率
query_match_ratio検索クエリ内の特定フィールドにヒットしたクエリ用語数と検索クエリ内の総用語数との比率
fieldterm_proximityフィールド内で一致した用語間の近接度
field_lengthフィールド内の用語数
query_term_count解析後の検索クエリ内の用語数
query_term_match_countドキュメント内の特定フィールドにヒットしたクエリ用語数
field_term_match_count検索クエリと一致するフィールド内の用語数
query_min_slide_windowフィールド内でそれらの用語を含む最小ウィンドウに対する、特定フィールドにヒットしたクエリ用語数の比率

地理的位置関連性

地理関数を使用して、基準点からの距離に基づきドキュメントにスコアを付与します。3 つの減衰関数(gauss_decaylinear_decayexp_decay)は、共通の概念に基づいています。すなわち、指定された原点から離れるほどスコアが低下するという計算を行いますが、減衰曲線の形状(ガウス分布のベル曲線、線形、指数関数)が異なります。距離によるスコアの低下率をどの程度急峻にしたいかに応じて、適切な曲線を選択してください。

関数戻り値
distance2 つの地理的ポイント間の球面距離。位置情報サービス(LBS)シナリオで一般的に使用されます
gauss_decay指定された原点からの距離に基づくガウス(ベル曲線)関数を用いた減衰スコア
linear_decay指定された原点からの距離に基づく線形関数を用いた減衰スコア
exp_decay指定された原点からの距離に基づく指数関数を用いた減衰スコア

適時性

適時性関数を使用して、ドキュメントが作成または更新されてからの経過時間に基づきスコアを付与します。アプリケーションが要求する時間精度に応じて、単位を選択してください。

関数戻り値
timelinessドキュメントの新鮮さを示す適時性スコア(単位:秒)
timeliness_msドキュメントの新鮮さを示す適時性スコア(単位:ミリ秒)

機能性

これらの関数は、タグベースのスコアリング、基本ソートからのスコア継承、クエリパラメーター抽出、スコア正規化、および集合メンバーシップチェックといった特定のランキングタスクに使用します。

関数戻り値
tag_matchクエリ句とドキュメントのタグの一致に基づくスコア(一致したタグの重みを反映)
first_phase_score基本ソート式によって計算されたスコア
kvpairs_valueクエリ内の kvpairs 句で指定されたフィールドの値
normalize元の値範囲から [0, 1] への正規化済みスコア
in または notinフィールド値が指定されたリストに含まれる(または含まれない)かどうか

次のステップ