大家可以去腾讯微博试试看搜索功能,挺特别的一个感觉。是全文索引?
按理说,这样的搜索一般都是用全文索引技术:数据量大、高效率。
的确,腾讯的微博的数据量绝对是海量的,搜索效率也是迅雷不及掩耳。奇怪的表现:
当你搜索用户名的时候,你就会发现有些蹊跷,拿我的用户名boringame为例子:
输入 boringame,能出来没什么奇怪的,最多用个索引就解决了。
西卡西,截取任意一段字符 oringame、oringam、ingam、oring ……奇迹发生了。莫非是Like?
这这这怎么看这么像我们做小项目的时候用的 where field like '%keyworld%' ……其他技术?
难不成腾讯微博并不是使用我们通用的数据库吗?为了微博单独开发了一个专用数据库?
又或者用了神马奇特的技术呢?大家是怎么做的呢?
你在做项目的时候,用的是哪一种方式的搜索呢?

解决方案 »

  1.   

    数据库中存放名字,然后用ajax自动完成(搜索),寻找匹配的
      

  2.   

    这种海量数据搜索,
    现在一般都是用NOSQL做查询数据库,
    而且是采用分布式服务器集群或云存储,
    速度当然快了!不要还抱着老思想看待新技术了。
      

  3.   

    其实like的机制他们也有的。并发的那种,两个一起给你找。。
      

  4.   

    寡人纳闷的是为什么效率能这么快,
    腾讯的几亿用户,要是用 like 会死机的
      

  5.   

    你连soso引擎都不知道还敢研究互联网还拿出来讨论?腾讯再垃圾也不可能那么幼稚地去搞什么数据库什么ajax...