根据经纬度匹配最近的商家

2021-11-17 15:21:45 +08:00
 Hystrix13

Java 项目中根据用户的经纬度为其匹配最近的商家,有成熟案例或者 API 吗?不喜勿喷谢谢!

1275 次点击
所在节点    问与答
12 条回复
lower
2021-11-17 15:34:03 +08:00
有人跟我一样这样硬算的么?
mysql 5.7 支持:
round(st_distance_sphere ( POINT ( x, y ), POINT ( #{x}, #{y} )) ) as distance
yggd
2021-11-17 15:50:18 +08:00
anonydmer
2021-11-17 15:55:17 +08:00
图简单直接使用个内置 geo distance 计算功能的数据库就好了,比如 mongo db
Hystrix13
2021-11-17 16:04:11 +08:00
@yggd 非常硬核我的哥
getoffworkontime
2021-11-17 18:48:27 +08:00
上 gis 数据库, GeoHash
cxh116
2021-11-17 18:52:43 +08:00
新版 redis 默认也支持 geo 了
lagoon
2021-11-17 18:55:39 +08:00
嗯?国内还是国外啊。。。
whoosy
2021-11-17 19:08:54 +08:00
redis geohash
sadfQED2
2021-11-17 19:15:30 +08:00
MySQL 的话存 GeoHash 值,然后加索引,前缀匹配查询

Redis 的话有 geohash 索引

Postgersql 的话有 postgis

Es 的话也有地理位置索引

方案大概就这些吧
Jooooooooo
2021-11-17 19:36:18 +08:00
搜 redis geohash, 很成熟的技术
Hystrix13
2021-11-18 09:45:23 +08:00
@sadfQED2 谢谢我的哥
BigMountain
2021-11-18 10:08:07 +08:00
用 Redis Geo 数据结构

功能很强大

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816060

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX