機能関数
ソート式では機能関数を使用できます。ほとんどの機能関数は、精密ソート式でのみ使用できます。さまざまな構文とステートメントを組み合わせて、複雑なソートを実行できます。
機能関数のパラメーターで参照するフィールドは、各関数の説明に基づいてインデックスフィールドまたは属性フィールドとして構成する必要があります。
query_term_match_count: ドキュメント内の特定のフィールドでヒットした検索クエリの用語数を返します
1. 構文
query_term_match_count(field_name,index_name)
2. パラメーター
field_name: 省略可能。統計を収集するフィールドの名前。フィールドのタイプは TEXT または SHORT_TEXT である必要があります。アナライザーは、中国語の汎用アナライザー、カスタムアナライザー、中国語の単一文字アナライザー、英語のアナライザー、またはあいまいアナライザーを使用できます。このパラメーターを指定しない場合、デフォルトでは、ドキュメント内のすべてのフィールドでヒットした用語の数が返されます。
index_name: 省略可能。field_name パラメーターで指定されたフィールドに作成されたインデックスの名前。
3. 戻り値
戻り値の型は INT です。
4. シナリオ
シナリオ 1: if (query_term_match_count(title) > 10, 0.5, 1)
を使用して、ドキュメント内の title フィールドでヒットした検索クエリの用語数に基づいてデータを処理する方法を決定します。
シナリオ 2: if (query_term_match_count() > 10, 0.5, 1)
を使用して、ドキュメント内のすべてのフィールドでヒットした検索クエリの用語数に基づいてデータを処理する方法を決定します。
5. 使用上の注意
この関数のパラメーターで参照するフィールドは、インデックスフィールドとして構成する必要があります。
この機能関数は、精密ソート式で使用できます。
ドキュメントでヒットした検索クエリ内のすべての用語がカウントされます。繰り返される用語は、ヒットするたびにカウントされます。