• 请不要在回答技术问题时复制粘贴 AI 生成的内容
venomD
V2EX  ›  程序员

贝壳网的「画圈找房」

  •  
  •   venomD · Jun 2, 2023 · 6633 views
    This topic created in 1253 days ago, the information mentioned may be changed or developed.

    想请教一下各位大佬,贝壳的这个「画圈找房」的功能是咋实现的?

    主要的问题是他是如何做到很快的响应的呢?房源信息与地图位置是怎么存放的?

    希望了解的大佬不吝赐教

    贝壳画圈找房

    23 replies  •  2023-06-21 10:02:02 +08:00
    dem0ns
    dem0ns
    Jun 2, 2023
    1
    resblockIds 按 block 来查
    chiron688
    chiron688
    Jun 2, 2023
    2
    gis 开发,挺简单的,存个房源的 xy 或者经纬度坐标,然后识别路径的 xy 信息,在这范围内的就是了
    ww940521
    ww940521
    Jun 2, 2023
    3
    我们公司的 GIS 也有这个功能,就是用的地图的 SDK 实现的,很简单。
    hhjswf
    hhjswf
    Jun 2, 2023 via Android
    4
    redis 有个 geo 的数据类型
    j3llypunk777
    j3llypunk777
    Jun 2, 2023❤️1
    5
    es polygon 查询,每个房源都有自己的经纬度数据,页面上的点聚合效果是地图自带的功能,我做过几乎一样的需求
    danieladu
    danieladu
    Jun 2, 2023
    6
    盲猜就是 GEOHASH
    macttt
    macttt
    Jun 2, 2023
    7
    开水团团有一篇基于 R-Tree 服务和 ElasticSearch 的 Terms 命令来实现的类似功能,他么针对这一步骤还对 ES 的 terms 进行了定制化增强: https://tech.meituan.com/2022/11/17/elasicsearch-optimization-practice-based-on-run-length-encoding.html
    shawndev
    shawndev
    Jun 2, 2023
    8
    keyword: geo-polygon
    sadfQED2
    sadfQED2
    Jun 2, 2023 via Android
    9
    es 传 polygon ,如果精度要求差一点可以 geohash
    Masonnn
    Masonnn
    Jun 2, 2023
    10
    @j3llypunk777 #5 同 5 楼
    githmb
    githmb
    Jun 2, 2023
    11
    这就不得不提 PostgreSQL 的牛逼之处了
    qiayue
    qiayue
    Jun 2, 2023
    12
    说个题外话,这个功能很好用,尤其是已经确定了学校的学区,只能在学区内换房时,特别好用
    ql562482472
    ql562482472
    Jun 2, 2023
    13
    postgis 几个函数的事情 很容易
    Worldispow
    Worldispow
    Jun 2, 2023
    14
    @githmb 数据分析做的多了就会发现,pg 真是吊着 mysql 锤
    leechen
    leechen
    Jun 2, 2023
    15
    @githmb 这是懂的,PostgreSQL 内置了地理信息的数据格式和函数
    hldnpqzzy
    hldnpqzzy
    Jun 2, 2023
    16
    geohash 吧
    qigge2014
    qigge2014
    Jun 2, 2023
    17
    mysql ST_Distance_Sphere 函数也可以
    Ericcccccccc
    Ericcccccccc
    Jun 2, 2023
    18
    搜 geohash, 然后数据放进 redis 就行.
    txy3000
    txy3000
    Jun 2, 2023
    19
    kd 树 qlog(n)
    cp19890714
    cp19890714
    Jun 2, 2023 via Android
    20
    postgre 可以处理 gis 相关数据,内置一堆 gis 函数和算法。比如:给出两点,算出最短路径,它都可以。
    LaurelHarmon
    LaurelHarmon
    Jun 2, 2023
    21
    应该得用到图形学吧,判断一个区域是否在多边形内部
    LLaMA2
    LLaMA2
    Jun 3, 2023
    22
    仔细阅读 GEOHASH 的原理,等读完了,发现还有很多现成的实现
    GEOHASH 存在很多年了
    Rain59
    Rain59
    Jun 21, 2023
    23
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5565 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 135ms · UTC 02:56 · PVG 10:56 · LAX 18:56 · JFK 21:56
    ♥ Do have faith in what you're doing.