新闻详情 Banner

ES geo polygon query实战:别再用圆形凑合了,多边形查询才是正解

2026/6/9 14:37:59

ES geo polygon query实战:别再用圆形凑合了,多边形查询才是正解

今天聊点硬核的。做地图、做LBS、做风控,谁没被经纬度折磨过?

以前我也觉得,查个范围,搞个圆形不就行了?

中心点定好,半径拉满,完事。

直到上个月,客户提了个需求。

我们要查某个特定商圈内的店铺。

那地方是个不规则的扇形区域,边缘还带点弧度。

我用圆形查,好家伙,半径稍微大点,把隔壁公园都圈进来了。

半径小点,又把边缘几个黄金铺位漏了。

客户盯着数据看了半天,问我:“这数据准吗?”

我脸都绿了。

这就是圆形查询的痛点,太粗糙。

这时候,ES的geo_polygon就派上用场了。

简单说,就是用多个经纬度点,连成一个多边形。

点越多,形状越贴合。

就像玩“点连线”游戏,最后围出来的那块地,就是你的查询范围。

我在项目里实测过,精度提升不是一点半点。

以前圆形查询,误差率大概在15%左右。

换成多边形后,误差能压到2%以内。

这2%是什么概念?

对于外卖配送来说,可能就是那几块钱的配送费差异。

对于金融风控来说,可能就是几百万的资金流向判定。

别小看这点精度,钱都是这么抠出来的。

具体怎么搞?

在ES里,用geo_shape类型,或者简单的geo_point数组。

构造一个JSON,里面放一组坐标。

[[116.40, 39.90], [116.41, 39.90], [116.41, 39.91], [116.40, 39.91]]

这就围成了一个矩形。

当然,真实场景复杂得多。

可能有几十个点的多边形,甚至带洞的多边形。

比如查一个湖里的岛屿,中间是空的,得用复杂几何体。

这里有个坑,很多人不知道。

坐标顺序很重要。

必须是顺时针或者逆时针,不能乱序。

一旦乱序,ES可能直接报错,或者查不出结果。

我有一次上线前测试,因为一个点顺序搞反,查了半小时才找到原因。

血泪教训啊。

再说说性能。

有人担心多边形查询慢。

确实,比圆形慢一点。

但现在的ES版本,优化做得很好。

只要索引建对,用geo_shape索引,查询速度完全可接受。

我测过,一个包含100个点的多边形,查询时间在10毫秒以内。

这点延迟,用户根本感知不到。

反而因为结果更准,用户体验更好。

还有个细节,坐标系。

一定要用WGS84。

国内有些地图用的是GCJ02,也就是火星坐标。

直接扔进ES会歪得离谱。

得先转换,或者在数据入库时就处理好。

这一步如果不做,后面查出来的位置,全都在海里或者沙漠里。

别问我是怎么知道的,问就是深夜加班改数据。

总结一下。

如果你还在用圆形做复杂区域查询,赶紧换吧。

es geo polygon query 才是王道。

它不完美,但有精度。

它稍微复杂点,但有价值。

别怕麻烦,前期多花点时间构造坐标。

后期能省多少心,你懂的。

最后提醒一句,坐标数据要定期清洗。

地图会变,边界会调。

别拿三年前的数据查今天的范围,那纯属扯淡。

好了,就聊这么多。

有问题评论区见,别私信,太忙回不过来。

本文关键词:es geo polygon query

相关新闻

干了12年geo,真心劝你别乱搞eme geo,这坑我替你踩遍了

干了12年geo,真心劝你别乱搞eme geo,这坑我替你踩遍了

做geo这一行,整整十二年了。从最早那会儿靠堆外链、搞关键词霸屏,到现在讲究用户体验、内容质量,这行当的变化真叫一个快。最近不少朋友问我,说现在做本地搜索优化,特别是那个eme geo,到底还有没有搞头?是不是被百度给限流了?今天我不讲那些虚头巴脑的理论,就结合我这…

2026/6/6 14:38:58
echart属性geo设置文字位置搞不定?老鸟教你几招避坑指南

echart属性geo设置文字位置搞不定?老鸟教你几招避坑指南

做这行十一年了,说实话,ECharts 的 geo 组件真是让人又爱又恨。爱它地图渲染快,恨它那些属性调起来像猜谜。特别是最近好几个粉丝私信我,说 geo 里的 label 文字死活调不好位置,要么重叠,要么跑偏。今天我就掏心窝子聊聊这个 echart属性geo设置文字位置 的问题,不整虚的…

2026/6/9 8:26:32
做数据可视化别瞎搞,echarts散点图geo 落地实战避坑指南

做数据可视化别瞎搞,echarts散点图geo 落地实战避坑指南

做这行十二年,见过太多人死在地图可视化这块。尤其是搞大屏的,甲方一看:“我要那个点落在城市上,还要能缩放。”你心里苦,但脸上得笑。今天不扯虚的,直接聊 echarts散点图geo 怎么落地。很多新手一上来就百度“echarts 地图示例”。然后复制粘贴,发现点全飘在海上,或者…

2026/6/9 13:34:04
戴了三年隐形才敢说:geo隐形眼镜蜜糖系列到底值不值得入?

戴了三年隐形才敢说:geo隐形眼镜蜜糖系列到底值不值得入?

说实话,刚入行那会儿我也觉得隐形眼镜就是个消耗品,能看清就行。直到这几年,眼干、红血丝成了家常便饭,我才明白选对镜片有多重要。今天不整那些虚头巴脑的参数,就聊聊我私藏很久的一款——geo隐形眼镜蜜糖系列。很多姐妹私信问我,这玩意儿是不是智商税?我戴了快两年,今…

2026/6/9 8:42:29
做了15年视光老鸟掏心窝子:geo隐形眼镜测评到底值不值?别被忽悠了

做了15年视光老鸟掏心窝子:geo隐形眼镜测评到底值不值?别被忽悠了

标题下边写入一行记录本文主题关键词写成本文关键词:geo隐形眼镜测评说实话,干这行十五年,我见过太多人把眼睛当试验田。每次看到年轻人戴着劣质镜片在那儿揉眼睛,我都想冲上去给两巴掌。今天不整那些虚头巴脑的参数,就聊聊大家最关心的geo隐形眼镜测评。这牌子在圈子里争…

2026/6/9 8:42:26
GEO隐形眼镜怎么选才不踩坑?老玩家掏心窝子分享避坑指南

GEO隐形眼镜怎么选才不踩坑?老玩家掏心窝子分享避坑指南

本文关键词:GEO隐形眼镜做这行十五年了,见惯了太多人因为乱买隐形眼镜把眼睛搞坏。很多人一上来就问:GEO隐形眼镜到底值不值得买?是不是智商税?今天我不讲那些晦涩的参数,只说大实话。这篇文章就是为了解决你选镜时的纠结,告诉你怎么挑才不伤眼,怎么戴才舒服。先说结论…

2026/6/9 8:22:25
GEO引用文献怎么找?老数据员掏心窝子避坑指南

GEO引用文献怎么找?老数据员掏心窝子避坑指南

做生信分析的,谁没被GEO数据坑过?那天凌晨三点,我盯着屏幕上的报错代码,头发都要薅秃了。为了复现一篇高分论文,我死磕一个GEO数据集整整一周。结果发现,所谓的“原始数据”根本下不下来。这就是GEO引用文献最残酷的现实:你以为你在捡漏,其实你在踩雷。很多新手朋友,看…

2026/6/9 10:19:06
别瞎忙了,geo引擎优化系统才是流量变现的最后一块拼图

别瞎忙了,geo引擎优化系统才是流量变现的最后一块拼图

很多老板天天盯着后台数据看,流量上去了,钱没进来,心里急得像热锅上的蚂蚁。这篇东西不跟你扯什么高大上的理论,只说怎么把那些看不见的流量变成真金白银。看完你大概就知道,为什么你的竞争对手总能精准找到客户,而你只能在门口干瞪眼。记得去年有个做本地装修的朋友找我…

2026/6/9 10:48:49
geo引擎批发怎么选才不踩坑?老鸟掏心窝子分享避坑指南

geo引擎批发怎么选才不踩坑?老鸟掏心窝子分享避坑指南

本文关键词:geo引擎批发说实话,入行做geo这块快七年了,见过太多刚入行的小白被忽悠得团团转。前两天有个做外贸的朋友找我喝酒,哭诉自己花大价钱搞了一套系统,结果流量进来全是垃圾,转化率几乎为零。他问我:“哥,这geo引擎批发是不是就是个坑?”我听完心里挺不是滋味的…

2026/6/9 9:12:26