diff --git a/bizcommon/util/util.go b/bizcommon/util/util.go index eade0f17..ae070e36 100644 --- a/bizcommon/util/util.go +++ b/bizcommon/util/util.go @@ -378,7 +378,7 @@ func GetLastLessOrEqualForFloat64(arr []float64, target float64) int { type Int64Filter struct { LowerBound *int64 `json:"lower_bound" bson:"lower_bound"` UpperBound *int64 `json:"upper_bound" bson:"upper_bound"` - Scale float64 `json:"scale" bson:"scale"` + ScaleCoeff float64 `json:"scale_coeff" bson:"scale_coeff"` Decay float64 `json:"decay" bson:"decay"` Weight float64 `json:"weight" bson:"weight"` } @@ -411,7 +411,8 @@ func CreateGaussDecayFunction(name string, filter *Int64Filter, refFilter *Int64 } origin := float64(lb+ub) / 2 offset := float64(-lb+ub) / 2 - return elastic.NewGaussDecayFunction().FieldName(name).Origin(origin).Offset(offset).Scale(refFilter.Scale).Decay(refFilter.Decay).Weight(refFilter.Weight) + scale := (origin - offset) * refFilter.ScaleCoeff + return elastic.NewGaussDecayFunction().FieldName(name).Origin(origin).Offset(offset).Scale(scale).Decay(refFilter.Decay).Weight(refFilter.Weight) } func CreateKeywordScriptScoreFunction(name string, value string, weight float64) *elastic.ScriptFunction {