全部產品
Search
文件中心

:gauss_decay

更新時間:Jul 13, 2024

特徵函數項

特徵函數可以用到排序運算式中(大部分僅支援精排運算式),可以通過各種文法及語句的組合得到強大的排序功能。

其中特徵函數參數出現的文檔欄位需根據對應函數文檔提示,建立為索引或屬性.

gauss_decay,使用高斯函數,根據數值和給定的起始點之間的距離,計算其衰減程度

1.詳細用法:

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

2.參數:

  • origin:衰減函數的起始點,支援double類型的浮點數

  • value:需要計算衰減程度的值,支援double類型的浮點數,該值可以來自使用者欄位或者其他運算式

  • scale:衰減程度,支援double類型的浮點數

  • decay:當距離為scale時的衰減程度,支援double類型的浮點數,可選,預設值為0.000001

  • offset:當距離大於offset時才開始計算衰減程度,支援double類型的浮點數,可選,預設值為0

3.傳回值:

傳回值為double,區間為[0, 1]

4.適用情境:

情境1:

尋找距離使用者最近的酒店,按照距離由近到遠排序,並且認為距離小於100m的酒店不用做區分, longitude_in_doc和latitude_in_doc為酒店的經緯度,longtitude_in_query和latitude_in_query為使用者的經緯度

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

情境2:

尋找2000元左右的手機,並且如果價格小於1500或者大於2500時,文檔算分為0,文檔中手機價格為price,kvpairs=price_key:2000,公式如下:

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

5.注意事項:

  • 函數參數需建立為屬性

  • 如果scale小於或者等於0,衰減函數預設返回0

  • 如果decay大於或者等於1,衰減函數預設返回1

  • 如果decay小於或者等於0,預設將decay設定為0.000001

  • 如果offset小於0,預設將offset設定為0