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

:正規化

最終更新日:Dec 28, 2024

機能関数

ソート式で機能関数を使用できます。ほとんどの機能関数は、精密ソート式でのみ使用できます。さまざまな構文と句を組み合わせて、複雑なソートを実行できます。

機能関数のパラメーターで参照するフィールドは、各関数の説明に基づいてインデックスフィールドまたは属性フィールドとして構成する必要があります。

normalize: 異なる値範囲のスコアを[0,1]の範囲の数値に正規化します

1.シナリオの概要

ドキュメントの関連性は、さまざまな次元から計算されます。異なる次元から計算されたスコアは、異なる値範囲になる場合があります。たとえば、Webページのクリック数は数百万回になる可能性がありますが、Webページのテキスト関連性スコアは0~1の値です。このような異なる値範囲の値を比較することはできません。正規化関数は、異なる値範囲のスコアを同じ値範囲のスコアに正規化できます。このようにして、正規化されたスコアをさらに計算に使用できます。正規化関数は、線形正規化、対数正規化、逆正接正規化の3つの正規化方法をサポートしています。選択される正規化方法は、入力パラメーターによって異なります。 value パラメーターのみが設定されている場合、正規化関数は正規化に逆正接関数を使用します。 value パラメーターと max パラメーターの両方が設定されている場合、正規化関数は正規化に対数関数を使用します。 value、max、min のすべてのパラメーターが設定されている場合、正規化関数は正規化に線形関数を使用します。

2.構文

normalize(value, max, min)

3.パラメーター

  • value: ドキュメント内のフィールド、またはフィールド値または戻り値を正規化したい式。フィールド値または戻り値はDOUBLE型である必要があります。

  • max: 正規化後の値範囲の最大値。このパラメーターは省略可能です。最大値はDOUBLE型である必要があります。

  • min: 正規化後の値範囲の最小値。このパラメーターは省略可能です。最小値はDOUBLE型である必要があります。

4.戻り値

戻り値はDOUBLE型です。有効な値: [0,1]。

5.シナリオ

シナリオ1: price フィールドの値を正規化したいが、price フィールドの値範囲がわからない場合。この場合、次の形式で normalize 関数を使用できます: normalize(price).

シナリオ2: price フィールドの値を正規化したいが、price フィールドの値範囲の最大値のみがわかっている場合。この場合、次の形式で normalize 関数を使用できます: normalize(price, 100).

シナリオ3: price フィールドの値を正規化したいが、最大値と最小値がそれぞれ100と1である場合。この場合、次の形式で normalize 関数を使用できます: normalize(price, 100, 1).

シナリオ4: distance 関数の戻り値を0~1の値に正規化したい場合。この場合、次の形式で normalize 関数を使用できます: normalize(distance(longitude_in_doc, latitude_in_doc, longtitude_in_query, latitude_in_query)).

6.使用上の注意:

  • 関数で参照されるフィールドは、属性フィールドとして設定する必要があります。

  • 逆正接関数を正規化に使用し、フィールド値または指定された式の戻り値が0より小さい場合、normalize 関数の戻り値は0になります。

  • 対数関数を正規化に使用する場合は、max パラメーターの値が1より大きい必要があります。

  • 線形関数を正規化に使用する場合は、max パラメーターの値が min パラメーターの値より大きい必要があります。