特徵函數項
特徵函數可以用到排序運算式中(大部分僅支援精排運算式),可以通過各種文法及語句的組合得到強大的排序功能。
其中特徵函數參數出現的文檔欄位需根據對應函數文檔提示,建立為索引或屬性.
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