2016-03-15 77 views
0

我有一組文檔,每個文檔都有一個內容字段和一個日期字段。我試圖以一種可以提升較新文檔的方式操縱分數。Elasticsearch中的線性函數評分

我發現了線性衰減評分函數,但我無法理解它是如何實際工作的。

"function_score": { 
    "functions": [ 
    { 
     "linear": { 
     "date": { 
      "scale": "30d", 
      "offset": "7d", 
      "decay": 0.5 
     } 
     } 
    } 
    ] 
} 

對於上述配置,從我的理解,出現不到7天將不會有他們的得分操作的文件,這是比舊的將在30間隔得到他們的得分下降了0.5文件天,這是正確的嗎?

重要提示:我使用的是ES 1.7.4,新版本的ES有規模財產

回答

1

「規模」 不同的定義: 「30D」=>定義衰減率

「偏移量」: 「7D」=>更大的距離所定義的偏移量在衰變 「衰變」 的結果:0.5 =>衰減速度文件被(偏移+ - (N * scale))的天

對於上面的配置,從我的理解,文件th在 出現不到7天將不會有他們的得分操縱

不只是新的但老年人以及從當前日期的offset的距離內,即

線性衰減,計算如下:

Linear decay function

再次計算參數s以確保得分在距離原點的距離刻度處取值衰減+ - 偏移

enter image description here

與此相反的正常和指數衰減,linear decay如果字段值超過兩倍的用戶給出的比例值實際上是設置得分爲0。

Reference