V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
silvernoo
V2EX  ›  问与答

500 多 M 的文本怎么快速搜索相应的内容?

  •  
  •   silvernoo · 2015-12-14 20:56:27 +08:00 · 1756 次点击
    这是一个创建于 3267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    几百本小说,要能支持正则表达式。

    grep 搜索大量文本非常慢。我在想如果分词然后建立索引,速度应该非常快。请问有现成的轮子吗?
    第 1 条附言  ·  2015-12-14 22:10:24 +08:00
    合并以后再搜索就快很多
    10 条回复    2015-12-15 09:53:02 +08:00
    morefreeze
        1
    morefreeze  
       2015-12-14 20:59:44 +08:00
    500M 用 grep 能慢到哪? 1 分钟出不来么?我没试过 就是问问
    不行换 ack 试试 效率说是比 grep 快很多
    lightening
        2
    lightening  
       2015-12-14 21:03:24 +08:00
    @morefreeze 不不, ack 快是建立在它会自动忽略不需要搜索的文件(比如 binary 和 .git/ 下的文件)的基础上的, ack 本身是 Python 写的,不可能比 grep 快。
    Zzzzzzzzz
        3
    Zzzzzzzzz  
       2015-12-14 21:07:53 +08:00   ❤️ 1
    这点量 buffer 预热好后很快的

    yang@laptap ~/Downloads/2000W $ egrep 张\S*民 * | wc -l
    835
    yang@laptap ~/Downloads/2000W $ time egrep 张\S*民 * > /dev/null

    real 0m4.483s
    user 0m3.893s
    sys 0m0.579s
    yang@laptap ~/Downloads/2000W $ time egrep 李\S*民 * > /dev/null

    real 0m4.419s
    user 0m3.779s
    sys 0m0.626s
    yang@laptap ~/Downloads/2000W $ du -sh
    3.0G .
    rming
        4
    rming  
       2015-12-14 21:08:55 +08:00   ❤️ 1
    sphinx elasticsearch
    前者, 0 配置,简单
    后者,现代,扩展性好
    Zzzzzzzzz
        5
    Zzzzzzzzz  
       2015-12-14 21:11:48 +08:00
    cache...不是 buffer, 写错.
    pynix
        6
    pynix  
       2015-12-15 04:50:38 +08:00
    全文检索。。。
    KentY
        7
    KentY  
       2015-12-15 06:29:40 +08:00
    试试 ag
    这家伙真比 grep 快不少
    不过话说回来, 500M 文本对 grep 来说不算什么事儿啊.
    KentY
        8
    KentY  
       2015-12-15 06:31:32 +08:00
    或者一下都 load 到内存里, 反正才 500M 随便你怎么折腾.
    MOxFIVE
        9
    MOxFIVE  
       2015-12-15 08:40:06 +08:00 via iPad   ❤️ 1
    FileLocator
    silvernoo
        10
    silvernoo  
    OP
       2015-12-15 09:53:02 +08:00
    @MOxFIVE 一看名字就是我想要的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   991 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.