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

贝壳网的「画圈找房」

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

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

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

    希望了解的大佬不吝赐教

    贝壳画圈找房

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