V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
joker2026
V2EX  ›  程序员

上亿数据,如何完成快速检索

  •  
  •   joker2026 · 205 天前 · 2922 次点击
    这是一个创建于 205 天前的主题,其中的信息可能已经有所发展或是发生改变。

    针对上亿数据,根据其中一个字段或两字字段进行搜索模糊查询,一般使用什么中间件或者搜索方法? 不拘泥于言,不拘泥于框架,请大神各抒己见。当然 php 、java 这种常见的语言,参考意义比较大,谢谢

    17 条回复    2023-10-05 17:26:46 +08:00
    locoz
        1
    locoz  
       205 天前 via Android   ❤️ 3
    elastic search
    netnr
        2
    netnr  
       205 天前 via Android
    如果搜索结果是返回少量数据, ClickHouse 秒出
    insmoin
        3
    insmoin  
       205 天前
    全文搜索引擎
    redtech
        4
    redtech  
       205 天前 via iPhone
    也可以用 meilisearch
    dusu
        5
    dusu  
       205 天前 via iPhone
    manticoresearch
    Rocketer
        6
    Rocketer  
       205 天前 via iPhone
    @netnr 秒也太慢了🤣

    超过 100 毫秒用户体验就算差了
    GeorgeWai
        7
    GeorgeWai  
       205 天前 via iPhone
    es ,ch 都可以,关键还是在于硬件😄
    missuo
        8
    missuo  
       205 天前 via iPhone
    clickhouse yyds
    zhuzhibin
        9
    zhuzhibin  
       205 天前 via iPhone
    插个话 es 的全模糊 wildcard 有啥替代方案 性能太差了 上次有过一次把单节点 CPU 干满了 大量查询导致 search 线程池也阻塞满了
    matrix1010
        10
    matrix1010  
       205 天前
    @zhuzhibin N-gram 空间换时间,一般来说 2gram 或 3gram 效果都很不错, 你也可以两个加一起。比如 google code search 就是 trigram: https://github.com/google/zoekt
    Sakura0Tears
        11
    Sakura0Tears  
       205 天前
    只会 Excel 难蚌
    matrix1010
        12
    matrix1010  
       205 天前
    owen800q
        13
    owen800q  
       205 天前 via iPhone
    Serverless 版本的 mongodb, 别说一亿,100 亿都没问题
    bjzhush
        14
    bjzhush  
       205 天前
    你缺了很多条件,比如配备的硬件,QPS ,响应时间要求
    我说个我做过的单机版的,10 年前了,拿 sphinx 搞的,大概 3-5 亿条记录,印象中响应是 500 毫秒内
    dlmy
        15
    dlmy  
       205 天前
    我司国庆之前用 32G 内存的服务器,压测了单机版的 ClickHouse ,数据可以参考一下:

    扫描行数:530,000,000
    耗时(秒):0.942
    查询列数:2
    结果行数:46
    zhuzhibin
        16
    zhuzhibin  
       205 天前 via iPhone
    matrix1010
        17
    matrix1010  
       204 天前
    @zhuzhibin 看了一眼 es 的文档,wildcard 类型已经是通过 trigram 来优化了。如果用 wildcard 类型 cpu 还高可能就要考虑一下别的方法 https://www.elastic.co/cn/blog/find-strings-within-strings-faster-with-the-new-elasticsearch-wildcard-field
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3026 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:37 · PVG 16:37 · LAX 01:37 · JFK 04:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.