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

:gauss_decay

最終更新日:Dec 28, 2024

機能関数

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

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

gauss_decay: 値と指定された開始点の間の距離に基づいて、ガウス関数を使用して減衰度を計算します

1.構文:

gauss_decay(origin, value, scale, decay, offset)

2.パラメーター:

  • origin: 開始点。このパラメーターの値は倍精度浮動小数点数である必要があります。

  • value: 減衰度を計算するユーザー定義フィールドまたは式。このパラメーターの値は倍精度浮動小数点数である必要があります。

  • scale: 減衰度の計算に使用されるスケール。このパラメーターの値は倍精度浮動小数点数である必要があります。

  • decay: 距離がscaleパラメーターの値と等しい場合の減衰度。このパラメーターはオプションです。このパラメーターの値は倍精度浮動小数点数である必要があります。デフォルト値: 0.000001。

  • offset: 距離がオフセットより大きい場合に減衰度の計算が開始されます。このパラメーターはオプションです。このパラメーターの値は倍精度浮動小数点数である必要があります。デフォルト値: 0。

3.戻り値:

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

4.シナリオ:

シナリオ 1:

最寄りのホテルを検索したいとします。近くのホテルは近い順にソートされ、100メートル未満のホテルはソートされません。longitude_in_docとlatitude_in_docはホテルの経度と緯度を指定します。longitude_in_queryとlatitude_in_queryはあなたの場所の経度と緯度を指定します。

gauss_decay(0, distance(longitude_in_doc, latitude_in_doc, longitude_in_query, latitude_in_query), 5, 0.000001, 0.1)

シナリオ 2:

約2,000円の携帯電話を検索したいとします。携帯電話の価格が1,500円未満または2,500円を超える場合、携帯電話を含むドキュメントのスコアはゼロになります。携帯電話の価格は、ドキュメントのpriceフィールドで示されます。開始価格はkvpairs=price_key:2000形式で定義されます。次の式が使用されます。

 gauss_decay(kvpairs_value(price_key, FLOAT), price, 500)

5.使用上の注意:

  • この関数のパラメーターで参照するフィールドは、属性フィールドとして構成する必要があります。

  • scaleパラメーターの値が0以下の場合、gauss_decay関数はデフォルトで0を返します。

  • decayパラメーターの値が1以上の場合、gauss_decay関数はデフォルトで1を返します。

  • decayパラメーターの値が0以下の場合、decayパラメーターはデフォルトで0.000001に設定されます。

  • offsetパラメーターの値が0未満の場合、offsetパラメーターはデフォルトで0に設定されます。