Elasticsearches通过坐标位置实现对附近人的搜索

目录
  • 一 创建mapping
  • 二 导入数据
  • 三 查询
    • 3.1根据给定两个点组成的矩形,查询矩形内的点
    • 3.2根据给定的多个点组成的多边形,查询范围内的点
    • 3.3查询给定1000KM距离范围内的点
    • 3.4查询距离范围区间内的点的数量

一 创建mapping

PUT test
{
  "mappings": {
    "test":{
      "properties": {
        "location":{
          "type": "geo_point"
        }
      }
    }
  }
}

二 导入数据

POST test/test
{
  "location":{
    "lat":12,
    "lon":24
  }
}

三 查询

3.1根据给定两个点组成的矩形,查询矩形内的点

GET test/test/_search
{
  "query": {
    "geo_bounding_box": {
      "location": {
        "top_left": {
          "lat": 28,
          "lon": 10
        },
        "bottom_right": {
          "lat": 10,
          "lon": 30
        }
      }
    }
  }
}

3.2根据给定的多个点组成的多边形,查询范围内的点

GET test/test/_search
{
  "query": {
    "geo_polygon": {
      "location": {
        "points": [
          {
            "lat": 11,
            "lon": 25
          },
          {
            "lat": 13,
            "lon": 25
          },
          {
            "lat": 13,
            "lon": 23
          },
          {
            "lat": 11,
            "lon": 23
          }
        ]
      }
    }
  }
}

3.3查询给定1000KM距离范围内的点

GET test/test/_search
{
  "query": {
    "geo_distance": {
      "distance": "1000km",
      "location": {
        "lat": 12,
        "lon": 23
      }
    }
  }
}

3.4查询距离范围区间内的点的数量

GET test/test/_search
{
  "size": 0,
  "aggs": {
    "myaggs": {
      "geo_distance": {
        "field": "location",
        "origin": {
          "lat": 52.376,
          "lon": 4.894
        },
        "unit": "km",
        "ranges": [
          {
            "from": 50,
            "to": 30000
          }
        ]
      }
    }
  }
}

以上就是Elasticsearches使用坐标位置实现对附近人的搜索 的详细内容,更多关于Elasticsearches位置坐标搜索附近人的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python-ElasticSearch搜索查询的讲解

    Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索引擎功能的库.但是 Lucene 仅仅只是一个库.为了利用它,你需要编写 Java 程序,并在你的 java 程序里面直接集成 Lucene 包. 更坏的情况是,你需要对信息检索有一定程度的理解才能明白 Lucene 是怎么工作的.Lucene 是 很 复杂的. 在上一篇文章中介绍了ElasticS

  • java 使用ElasticSearch完成百万级数据查询附近的人功能

    上一篇文章介绍了ElasticSearch使用Repository和ElasticSearchTemplate完成构建复杂查询条件,简单介绍了ElasticSearch使用地理位置的功能. 这一篇我们来看一下使用ElasticSearch完成大数据量查询附近的人功能,搜索N米范围的内的数据. 准备环境 本机测试使用了ElasticSearch最新版5.5.1,SpringBoot1.5.4,spring-data-ElasticSearch2.1.4. 新建Springboot项目,勾选Elas

  • 使用ElasticSearch6.0快速实现全文搜索功能的示例代码

    本文不涉及ElasticSearch具体原理,只记录如何快速的导入mysql中的数据进行全文检索. 工作中需要实现一个搜索功能,并且导入现有数据库数据,组长推荐用ElasticSearch实现,网上翻一通教程,都是比较古老的文章了,无奈只能自己摸索,参考ES的文档,总算是把服务搭起来了,记录下,希望有同样需求的朋友可以少走弯路,能按照这篇教程快速的搭建一个可用的ElasticSearch服务. ES的搭建 ES搭建有直接下载zip文件,也有docker容器的方式,相对来说,docker更适合我们

  • elasticsearch python 查询的两种方法

    elasticsearch python 查询的两种方法,具体内容如下所述: from elasticsearch import Elasticsearch es = Elasticsearch res1 = es.search(index="2018-07-31", body={"query": {"match_all": {}}}) print(es1) {'_shards': {'failed': 0, 'skipped': 0, 'suc

  • Elasticsearches通过坐标位置实现对附近人的搜索

    目录 一 创建mapping 二 导入数据 三 查询 3.1根据给定两个点组成的矩形,查询矩形内的点 3.2根据给定的多个点组成的多边形,查询范围内的点 3.3查询给定1000KM距离范围内的点 3.4查询距离范围区间内的点的数量 一 创建mapping PUT test { "mappings": { "test":{ "properties": { "location":{ "type": "

  • JS获取鼠标坐标位置实例分析

    本文实例分析了JS获取鼠标坐标位置的方法.分享给大家供大家参考,具体如下: 取鼠标坐标位置有这些:鼠标在视口的坐标位置(clientX,clientY),鼠标在页面的坐标位置(pageX,pageY),鼠标在屏幕的坐标位置(screenX,screenY),其中鼠标在视口的坐标位置(clientX,clientY),以及鼠标在屏幕的坐标位置(screenX,screenY)在所有的浏览器中都支持,但是鼠标在页面的坐标位置(pageX,pageY)在IE8及更早版本不支持,但是没有关系,可以通过s

  • 微信JS-SDK坐标位置如何转换为百度地图坐标

    微信JS-SDK开发过程中,使用getLocation获取坐标位置,如何将微信获取的坐标直接应用到百度地图中,显示以下效果: 说明:红色图标是从微信转换过来的位置,蓝色图标是周边位置.首先从微信开发流程讲解. 1.微信JS-SDK开发文档 首先进入官网的帮助文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 可对文档进行详细的研读,要获取位置信息,分以下步骤:

  • 通过Java 程序获取Word中指定图片的坐标位置

    之前给大家介绍过Java解析word,获取文档中图片位置的方法,感兴趣的朋友点击查看下,今天给大家介绍如何通过Java 程序获取Word中指定图片的坐标位置,感兴趣的朋友一起看看吧! 程序运行环境: Word测试文档:.docx 2013 Free Spire.doc.jar 3.9.0 IntelliJ IDEA JDK 1.8.0 方法步骤: 1. 指定文件路径,本次测试代码路径为项目文件夹路径.即在IDEA项目文件下存入用于测试的Word文档,如:C:\Users\Administrato

  • C#实现获取Excel中图片所在坐标位置

    目录 本文以C#和vb.net代码示例展示如何来获取Excel工作表中图片的坐标位置.这里的坐标位置是指图片左上角顶点所在的单元格行和列位置,横坐标即顶点所在的第几列.纵坐标即顶点所在的第几行.下面是获取图片位置的详细方法及步骤. [程序环境] 按照如下方法来引用Spire.Xls.dll 版本:12.2 方法1:将 Free Spire.XLS for .NET 包下载到本地,解压,安装到指定路径.完成安装后,在安装路径下找到BIN文件夹下的Spire.Xls.dll文件:然后在Visual

  • Java获取Excel中图片所在的行和列坐标位置

    目录 前言 获取图片所在行.列位置 前言 本文以Java代码示例展示如何来获取Excel工作表中图片的坐标位置.这里的坐标位置是指图片左上角顶点所在的单元格行和列位置,横坐标即顶点所在的第几列.纵坐标即顶点所在的第几行.下面是获取图片位置的详细方法及步骤. 程序环境: 按照如下方法来引用Spire.Xls.jar 版本:5.1.0 方法1:将Free Spire.XLS for Java​包下载到本地,解压,找到lib文件夹下的Spire.Xls.jar文件.然后在IDEA中打开“Project

  • python如何查找图片按钮的坐标位置

    目录 python查找图片按钮的坐标位置 读取图片区域坐标的方法记录 python查找图片按钮的坐标位置 因为业务需求,了解到一些python自动化的内容,其中有类似于airtest截图点击的东西. 本来是想使用pyautogui来实现获取图片坐标的功能,但是pyautogui对于小尺寸的图片识别不准确,或者说是识别不到,一番查找之下,发现另一个工具,做了封装如下. 1,使用pyaut x, y=pyautogui.locateCenterOnScreen("img_path") #

  • 详解iOS游戏开发中Cocos2D的坐标位置关系

    接触Cocos2D有段时间了,今天特意研究了下Cocos2D坐标系中各种位置关系,anchor属性,CCNode坐标和地图坐标转换. 先看一段代码: 复制代码 代码如下: -(id) init  {      // always call "super" init      // Apple recommends to re-assign "self" with the "super" return value      if( (self=[s

  • js与jquery中获取当前鼠标的x、y坐标位置的代码

    复制代码 代码如下: <div id="testDiv">放在我上面</div> <script type="text/javascript"> $('#testDiv').mousemove(function(e) { var xx = e.originalEvent.x || e.originalEvent.layerX || 0; var yy = e.originalEvent.y || e.originalEvent.l

  • 用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动

    目标是拷贝微信的飞机大战,当然拷贝完以后大家就具备自己添加不同内容的能力了. 首先是要拿到一些图片素材,熟悉使用图像处理软件和绘画的人可以自己制作,并没有这项技能的同学只能和我一样从网上下载相应的素材了. 网上可以找到相应的这样的图片,注意,所有的元件图片要是png类型的图片,那样可以有透明的背景,否则会有白色的边框露出来. 找到素材以后我们就要开始搭建我们的飞机大战了. 微信上的飞机大战是由手指控制的,在电脑上,我们就先用鼠标代替了. 按照之前我们在天空上移动云的那个程序,我们可以知道该怎么做

随机推荐