[github开源]基于redis的自动补全,有demo有真相 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
okidogi
V2EX    分享创造

[github开源]基于redis的自动补全,有demo有真相

  •  
  •   okidogi
    fengli 2012-09-28 21:41:07 +08:00 6695 次点击
    这是一个创建于 4763 天前的主题,其中的信息可能已经有所发展或是发生改变。
    github开源地址,MIT LICENSE,你想用来干什么都可以:

    https://github.com/fengli/autocomplete-redis

    demo地址:

    http://ohbooklist.com/redis/

    这个demo收录了37万条书籍名字,会根据你的输入自动补全。可以试一试。
    服务器用的linode东京的服务器,你们看看速度怎么样。
    第 1 条附言    2012-12-28 21:17:39 +08:00
    更新:因为服务器的原因,demo地址已经不可用。
    第 2 条附言    2013-09-16 19:37:52 +08:00
    重新更新了一个demo,就不重新开帖了,效果见:



    新的demo地址: http://readpi.com
    26 条回复    1970-01-01 08:00:00 +08:00
    tshwangq
        1
    tshwangq  
       2012-09-28 21:57:26 +08:00
    很快
    okidogi
        2
    okidogi  
    OP
       2012-09-28 22:34:04 +08:00
    @tshwangq 可能还真分地方,你的线路是?
    CoX
        3
    CoX  
       2012-09-28 23:23:58 +08:00
    @okidogi 输入一个 “围” 字,显示六遍“围城”?
    tshwangq
        4
    tshwangq  
       2012-09-29 00:11:01 +08:00
    北京联通
    301 要120ms
    搜索要300ms

    干吗还要搞个301 ...
    zl8723
        5
    zl8723  
       2012-09-29 01:19:58 +08:00
    nice job
    virgil
        6
    virgil  
       2012-09-29 08:12:53 +08:00
    不错,下拉选中不了啊...
    feilaoda
        7
    feilaoda  
       2012-09-29 09:42:32 +08:00   1
    500!
    chairo
        8
    chairo  
       2012-09-29 09:57:14 +08:00
    没任何补全……
    flylee2011
        9
    flylee2011  
       2012-09-29 10:00:58 +08:00
    500.。。
    alai
        10
    alai  
       2012-09-29 10:42:04 +08:00
    不错,试试。
    okidogi
        11
    okidogi  
    OP
       2012-09-29 16:46:40 +08:00
    @feilaoda @chairo @ffellaoda 哎,人太多了redis被kill掉了因为内存不够。。。好吧,我只买2g内存的服务器是不对的。

    我刚重新启动了下redis-server,目前正常,你们慢慢的试啊,挤坏服务器不是我的错。。。
    wezzard
        12
    wezzard  
       2012-10-01 14:28:32 +08:00
    沙信 很快 要是支持繁就好了 都怪年某人搞出化字
    udonmai
        13
    udonmai  
       2012-10-01 14:57:26 +08:00
    读书单和豆瓣原生的豆列有什么区别?
    harmy
        14
    harmy  
       2012-10-01 15:09:28 +08:00
    赞开源的精神!
    okidogi
        15
    okidogi  
    OP
       2012-10-01 18:56:33 +08:00
    @CoX 这是围城的多个不同版本,因为没有显示出版社和出版日期,所以看起来没有区别。
    @udonmai 简单容易操作,不用你输入豆瓣上这本书的链接,我们可以自动补全之。
    udonmai
        16
    udonmai  
       2012-10-01 20:37:49 +08:00
    @okidogi 豆列也不用输链接不是么。。。而且我记不住每一本书书名的开头或任意其他部分。。。我要收藏我肯定还得了解这本书,肯定会去诸如豆瓣这样的站点看介绍和评论。。所以这么一来楼主这个需求到底是什么?以超强的记忆力从自己的大脑中生成一份很棒的书单?自动补全不可能百分百准确和完整。

    可能我说多了,楼主不要生气~仅仅作为个人的项目然后开源是大好事~但是作为一款产品的时候,也许需要考虑的更多。
    bruce
        17
    bruce  
       2012-10-01 21:22:34 +08:00
    你该选个更加优化的结构。
    okidogi
        18
    okidogi  
    OP
       2012-10-01 23:44:15 +08:00
    @bruce "不要过早优化"。 我觉得现在的响应速度还可以,知乎的自动补全我觉得速度也不会比这个快。当然跟quora没法比,他们的自动补全是用c++优化过的,prefix-matching。而且在这种情况下,瓶颈不在服务器端的速度,而是在网络传输的速度。

    @udonmai 我们的远景比简单的书单要大的多,现在只是最初期alpha的对一两个功能进行测试,至于站点是用来做什么的还没有浮出来呢,敬请期待 ;-)
    bruce
        19
    bruce  
       2012-10-10 17:38:21 +08:00
    @okidogi "不要过早优化" 是针对复杂系统而言,这么个简单不能再简单的需求,不用提优化的问题,只有好的方案和不好的方案。
    leecade
        20
    leecade  
       2012-12-28 23:43:01 +08:00
    需要前端配合吗

    掏一个之前的项目:
    http://leecade.github.com/suggest/

    https://github.com/leecade/suggest
    9hills
        21
    9hills  
       2013-09-16 19:49:09 +08:00
    建议添加拼音匹配
    okidogi
        22
    okidogi  
    OP
       2013-09-16 19:53:50 +08:00
    @9hills 恩。拼音匹配确实很有用,让我去github上开个issue。
    Livid
        23
    Livid  
    MOD
    PRO
       2013-09-17 13:20:03 +08:00
    目前的每一次搜索需要的耗时是多少毫秒呢?
    okidogi
        24
    okidogi  
    OP
       2013-09-17 16:54:33 +08:00   1
    @Livid 50ms左右。不过索引的数据不多,只有6000+个书名。
    Livid
        25
    Livid  
    MOD
    PRO
       2013-09-17 16:55:40 +08:00
    @okidogi 将来我们新的发帖页面在选择节点时,或许可以上一个类似的东西。

    谢谢。
    okidogi
        26
    okidogi  
    OP
       2013-09-17 17:03:54 +08:00
    @Livid 也可以考虑索引所有帖子标题试试,替换掉现在的google custom search,用户体验应该很不错。不过可能内存消耗比较大,之前索引了37万本书的名字,1G多的内存就没了,当然也可以考虑只索引一部分有用的帖子。

    节点可能应用的场景不太一样,节点不需要分词,不需要将一句话分成很多段来索引,也可能不需要ranking,只用一个redis里边的hash估计就行了。 ;-)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5323 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 09:26 PVG 17:26 LAX 02:26 JFK 05:26
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86