栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Elasticsearch函数得分查询并针对某个地理点进行衰减,是否可以设置目标距离?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Elasticsearch函数得分查询并针对某个地理点进行衰减,是否可以设置目标距离?

我看到几种方法可以做到这一点:

答:一种方法是简单地按距离原点的相反顺序按距离排序。您将使用

geo_distance
查询,然后按距离排序。在下面的查询中,最远的文档将首先出现,即排序值是距原点的距离,并且我们以降序排序。

{  "query": {    "filtered": {      "filter": {        "geo_distance": {          "from" : "100km",          "to" : "200km",          "location": { "lat": 10, "lon": 20          }        }      }    }  },  "sort": [    {      "_geo_distance": {        "location": {          "lat": 10,          "lon": 20        },        "order": "desc",        "unit": "km",        "distance_type": "plane"      }    }  ]}

B.第二种方法涉及使用

geo_distance_range
查询以便在原点周围定义一个“环”。圆环的宽度可以某种方式象征您要在高斯函数中使用的偏移+比例(尽管不会衰减)。在这里,我们定义了一个距原点500公里的10公里宽的环,并按该环中的距离对文档进行排序。

{  "query": {    "filtered": {      "filter": {        "geo_distance_range": {          "from": "495km",          "to": "505km",          "location": { "lat": 10, "lon": 20          }        }      }    }  },  "sort": [    {      "_geo_distance": {        "location": {          "lat": 10,          "lon": 20        },        "order": "desc",        "unit": "km",        "distance_type": "plane"      }    }  ]}

C.最后一种方法涉及更多。我们基本上是一个“逆高斯”形后,基本上都是这个数字(33)

,但颠倒,或者这一次它更好地代表甜甜圈形状后,我们是。我们可以将上面的解决方案B与

gauss
仅在该环内得分的函数结合在一起。在下面的查询中,我们基本上是说,我们只对距原点约500
km的位置感兴趣,而让高斯函数仅对那些文档起作用。虽然它并不完美,但是可能足够接近您的需求。

{  "query": {    "filtered": {      "filter": {        "geo_distance_range": {          "from": "495km",          "to": "505km",          "location": { "lat": 10, "lon": 20          }        }      },      "query": {        "function_score": {          "functions": [ {   "gauss": {     "location": {       "origin": {         "lat": 10,         "lon": 20       },       "offset": "500km",       "scale": "5km"     }   } }          ]        }      }    }  },  "sort": {    "_score": "desc"  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号