java 时间衰减函数_如何设置ElasticSearch中的高斯衰减函数?

我不知道在Elasticsearch函数分数内实现的一个特性,虽然它会非常方便。

但是,您可以通过在function query使用过滤子句达到一个小的解决方法你的目标:

POST test/parks/_search

{

"query": {

"function_score": {

"query": {

"match": {

"name": "Yellowstone National park"

}

},

"functions": [

{

"gauss": {

"location": {

"origin": "41.4881832, -87.623177",

"scale": "10km",

"offset": "5km"

}

},

"filter": {

"geo_distance_range": {

"from": "0km",

"to": "30km",

"location": {

"lat": 41.881832,

"lon": -87.623177

},

"include_upper": false

}

}

},

{

"weight": ## Set appropriate weight,

"filter": {

"geo_distance_range": {

"from": "30km",

"location": {

"lat": 41.881832,

"lon": -87.623177

},

"include_lower": true

}

}

}

]

}

}

}

通过上面的查询,你只有30公里范围内的高斯函数比分适用于点击。在第二个过滤条款中,您为所有点击定义了一个常数分数,这些分数在远处更远。 请注意,您应该适当地设置include_upper和include_lower以防止多次对相同元素打分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值