第五阶段 50 · geo 地理查询(geo_point / geo_distance)
50 · geo 地理查询geo_point / geo_distance阶段第五阶段 / 进阶可选业务涉及地理位置时ESgeo_point/geo_shapegeo_distance/geo_bounding_box| PostgreSQLPostGISgeography/ST_DWithin1. 概念存经纬度并按「距离/范围」检索就用地理类型类型用途geo_point一个点经纬度最常用geo_shape线/面/多边形等复杂形状常见查询geo_distance某点 N 公里内、geo_bounding_box矩形框内、geo_distance聚合/排序按距离排序、分环统计。2. PostgreSQL 对照-- PostGIS5km 内的门店SELECT*FROMstoresWHEREST_DWithin(geog,ST_MakePoint(:lon,:lat)::geography,5000);-- 按距离排序SELECT*,geog-ST_MakePoint(:lon,:lat)::geographyASdistFROMstoresORDERBYdistLIMIT10;ES 的geo_distance≈ST_DWithin按距离排序 ≈-排序。3. ES DSL3.1 mapping 写入PUT stores_idx { mappings: { properties: { name: { type: keyword }, location: { type: geo_point } } } } POST stores_idx/_doc { name: Store-1, location: { lat: 39.9042, lon: 116.4074 } }3.2 geo_distanceN 公里内 按距离排序GET stores_idx/_search { query: { bool: { filter: { geo_distance: { distance: 5km, location: { lat: 39.9, lon: 116.4 } } } } }, sort: [ { _geo_distance: { location: { lat: 39.9, lon: 116.4 }, order: asc, unit: km } } ] }3.3 geo_bounding_box矩形框内query: { geo_bounding_box: { location: { top_left: { lat: 40.1, lon: 116.2 }, bottom_right: { lat: 39.7, lon: 116.6 } } } }4. Spring Boot 实现ComponentpublicclassDoc50GeoQuery{AutowiredprivateElasticsearchClientelasticsearchClient;/** 某点 radiusKm 公里内的门店按距离升序 */publicListMapString,Objectnearby(StringindexName,doublelat,doublelon,doubleradiusKm)throwsIOException{SearchResponseMaprespelasticsearchClient.search(s-s.index(indexName).query(q-q.bool(b-b.filter(f-f.geoDistance(g-g.field(location).distance(radiusKmkm).location(l-l.latlon(ll-ll.lat(lat).lon(lon))))))).sort(so-so.geoDistance(gd-gd.field(location).location(l-l.latlon(ll-ll.lat(lat).lon(lon))).order(SortOrder.Asc).unit(DistanceUnit.Kilometers))),Map.class);returnresp.hits().hits().stream().map(Hit::source).filter(Objects::nonNull).collect(Collectors.toList());}}importco.elastic.clients.elasticsearch._types.SortOrder、...DistanceUnit。每个 hit 的距离在hit.sort()对应_geo_distance排序值里可取出。5. 坑与最佳实践经纬度顺序易错GeoJSON 数组是[lon, lat]对象是{lat, lon}——别写反。geo_distance放filter不需要打分放 filter 更快、可缓存。距离排序有成本每命中文档都算距离大结果集配合先用geo_distance过滤缩小范围。精度 vs 性能geo_distance有arc精确/plane快、近距离够用两种算法。复杂形状用geo_shape点用geo_point即可多边形/围栏才上geo_shape。

相关新闻

第五阶段 49 · 安全:TLS、API Key、RBAC

第五阶段 49 · 安全:TLS、API Key、RBAC

49 安全:TLS、API Key、RBAC阶段:第五阶段 / 运维进阶 ES:传输加密、身份认证、最小权限授权 | PostgreSQL:SSL、用户与角色、权限控制1. 概念 Elasticsearch 生产安全通常是三层: TLS(传输加密&#xff0…

2026/8/5 0:36:14 阅读更多 →
网易云音乐NCM格式转换终极指南:3步快速解密音乐文件

网易云音乐NCM格式转换终极指南:3步快速解密音乐文件

网易云音乐NCM格式转换终极指南:3步快速解密音乐文件 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的歌曲无法在其他播放器播放而烦恼吗?ncmdump工具正是你需要的解决方案,…

2026/8/5 0:36:14 阅读更多 →
APK Installer终极指南:在Windows上快速免费安装Android应用的完整教程

APK Installer终极指南:在Windows上快速免费安装Android应用的完整教程

APK Installer终极指南:在Windows上快速免费安装Android应用的完整教程 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想过在Windows电脑上直接运行…

2026/8/5 0:36:14 阅读更多 →

最新新闻

军工、涉密领域有资质的 SRM 定制开发厂商有哪些?

军工、涉密领域有资质的 SRM 定制开发厂商有哪些?

军工、涉密领域的SRM 定制开发,是供应链数字化里门槛最高的品类之一。 很多单位找SRM 定制开发厂商,最先卡壳的就是资质问题 —— 普通厂商根本不满足涉密项目的准入要求。 涉密场景的SRM 定制开发,不仅要实现供应商全流程协同,还…

2026/8/5 1:06:27 阅读更多 →
2026瓷砖一线品牌金丝玉玛:高端时尚带点金,演绎家居美学新风尚

2026瓷砖一线品牌金丝玉玛:高端时尚带点金,演绎家居美学新风尚

在当下家居装修市场中,消费者对瓷砖的选择早已不再局限于基础的功能性需求,而是更加注重品质感、设计感与品牌调性的融合。瓷砖一线品牌作为行业中的标杆力量,承载着消费者对高品质家居生活的期待。其中,金丝玉玛瓷砖以"高端…

2026/8/5 1:06:27 阅读更多 →
2026瓷砖一线品牌:金丝玉玛瓷砖界中的奢侈品:金丝玉玛重新定义高端家居美学

2026瓷砖一线品牌:金丝玉玛瓷砖界中的奢侈品:金丝玉玛重新定义高端家居美学

在家居建材行业中,瓷砖一线品牌代表着品质、设计与服务的综合实力。而提到"瓷砖界中的奢侈品",金丝玉玛是一个绕不开的品牌名称。作为瓷砖一线品牌中以K金瓷砖为核心特色的品牌,金丝玉玛瓷砖以"高端、时尚、奢雅"为定位&…

2026/8/5 1:06:27 阅读更多 →
高端陶瓷十大品牌怎么选:金丝玉玛,中国高端瓷砖品牌开创者

高端陶瓷十大品牌怎么选:金丝玉玛,中国高端瓷砖品牌开创者

在中国陶瓷行业的发展历程中,有这样一类品牌:它们不满足于常规产品的制造,而是选择在细分领域深耕细作,以差异化策略开辟全新的市场空间。金丝玉玛瓷砖便是其中的典型代表。作为高端陶瓷十大品牌之一,金丝玉玛自2006年…

2026/8/5 1:06:27 阅读更多 →
NsEmuTools完整指南:3步轻松管理NS模拟器的终极解决方案

NsEmuTools完整指南:3步轻松管理NS模拟器的终极解决方案

NsEmuTools完整指南:3步轻松管理NS模拟器的终极解决方案 【免费下载链接】ns-emu-tools 一个用于安装/更新 NS 模拟器的工具 项目地址: https://gitcode.com/gh_mirrors/ns/ns-emu-tools 还在为任天堂Switch模拟器的复杂安装和配置而烦恼吗?NsEmu…

2026/8/5 1:06:26 阅读更多 →
计算机毕业设计之点点小说微信小程序设计与开发

计算机毕业设计之点点小说微信小程序设计与开发

社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非…

2026/8/5 1:05:26 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →