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

 更新时间:2022年04月19日 17:59:58   作者:Jeff的技术栈  
这篇文章主要为大家介绍了Elasticsearches使用坐标位置实现对附近人的搜索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一 创建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位置坐标搜索附近人的资料请关注脚本之家其它相关文章!

相关文章

  • 趁热打铁!HTTPGet与HTTPPost的区别详解

    趁热打铁!HTTPGet与HTTPPost的区别详解

    这篇文章主要介绍了趁热打铁!HTTPGet与HTTPPost的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • vscode安装使用的详细教程

    vscode安装使用的详细教程

    Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,这篇文章主要介绍了vscode安装使用的详细教程,需要的朋友可以参考下
    2020-08-08
  • 科学知识:理解socket

    科学知识:理解socket

    这篇文章主要介绍了科学知识:理解socket,本文试图用简洁的语言说清楚socket的相关知识,以便理解,需要的朋友可以参考下
    2015-05-05
  • eBay 打造基于 Apache Druid 的大数据实时监控系统

    eBay 打造基于 Apache Druid 的大数据实时监控系统

    Apache Druid 是一个用于大数据实时查询和分析的高容错、高性能开源分布式时序数据库系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。这篇文章主要介绍了eBay 如何打造基于 Apache Druid 的大数据实时监控系统?需要的朋友可以参考下
    2019-06-06
  • HTTP提交方式之PUT详细介绍及POST和PUT的区别

    HTTP提交方式之PUT详细介绍及POST和PUT的区别

    这篇文章主要介绍了HTTP提交方式之PUT详细介绍及POST和PUT的区别,本文简洁易懂,需要的朋友可以参考下
    2014-07-07
  • Typora 0.11.18免费版本安装使用教程(亲测可用)

    Typora 0.11.18免费版本安装使用教程(亲测可用)

    Typora是一款非常使用的笔记工具,对于程序员非常友好,在2021年11月23日,Typora 正式发布 1.0 版本,进入了付费时代,Typora免费版本0.11.18(最后的免费版),本文给大家分享Typora免费获取方法及安装使用教程,感兴趣的朋友参考下吧
    2022-07-07
  • Burpsuite模块之Burpsuite Intruder模块详解

    Burpsuite模块之Burpsuite Intruder模块详解

    Burp Intruder主要有四个模块组成,本文针对每一模块给大家详细介绍,对Burpsuite Intruder模块相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • 详细介绍HTTP Cookie

    详细介绍HTTP Cookie

    本篇文章主要介绍了详细介绍HTTP Cookie,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Runnable.com 在线测试代码片分享网站

    Runnable.com 在线测试代码片分享网站

    Runnable是一个一站式的代码片段集合网站,你不仅可以搜索代码,还可以编辑、运行这些代码片段,以确保它们的正确性与可用性
    2013-12-12
  • 网址URL的大小写敏感吗,有什么区别?

    网址URL的大小写敏感吗,有什么区别?

    在 Web 开发中,网址URL 的大小写问题可能引发意想不到的行为,本文将从技术规范、服务器配置、浏览器行为等多个维度,系统解析 URL 各组件的大小写敏感性,并提供实践建议,可有效避免因 URL 大小写不一致引发的搜索引擎优化问题、链接失效及用户体验下降
    2025-04-04

最新评论