首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地理点距离的弹性搜索查询

地理点距离的弹性搜索查询
EN

Stack Overflow用户
提问于 2018-06-26 09:31:24
回答 1查看 646关注 0票数 0

我想要按客户点计算在配送半径内的资源。我的地图如下:

代码语言:javascript
复制
 "restaurantPoint"       => [
 "type" => "geo_point"
 ],
 "deliveryRadius"        => [
 "type" => "float"
 ]

以及以下样本数据:

代码语言:javascript
复制
`"restaurantPoint": "35.73701996471125,51.409086138010025",
"deliveryRadius": 1`

所以,每一家餐厅都有一个点和一个配送半径,以公里为单位,另一方面,我们知道用户点。在查询中,我想得到可以将食物送到用户位置的餐馆。我必须检查餐厅点与用户点之间的距离是否小于餐厅配送半径。

例如,如果用户与餐厅之间的距离为1公里,餐厅的配送半径为2公里,则可以选择。

弹性搜索文档不完整,无法找到解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-27 09:43:36

最后,我使用了脚本:

代码语言:javascript
复制
GET development-restaurants/restaurants/_search
{
    "query": {
        "bool" : {
        "must" : {
            "script" : {
                "script" : {
                    "source": "doc['restaurantPoint'].arcDistance(35.73702, 51.40909) <= doc['deliveryRadius'].value",
                    "lang": "painless"
                 }
            }
        }
     }
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51039461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档