码迷,mamicode.com
首页 > 其他好文 > 详细

Twitter实时搜索系统EarlyBird

时间:2014-06-08 05:51:59      阅读:482      评论:0      收藏:0      [点我收藏+]

标签:实时检索   索引   twitter   

twitter对存档的tweet使用lucene做全量索引,新发的推文则是实时索引,实时检索(10秒之内索引)。实时索引和检索系统叫EarlyBird。
感觉写得比较清楚简洁,只要这些信息足够真实可信,完全可以做实现参考。
我简单做了几个记录: 
1)基于lucene + java,michael busch是lucene committer
2)词典直接用哈希表,因此不支持term的prefix,偏序查询,哈希表使用开放链址法实现,避免大量小对象gc开销
3)postings列表在optimize之前直接用数组,按照docid生序不压缩,因此查找可以直接二分查找不需要跳跃表结构.posting增长时分配空间以block为单位,分配空间按指数预留空间
4)12个segment11个是read-only,只有一个是可读可写的,一个segment中tweet数量超过8.4m时,segment经过optimize(不是lucene中的段合并,而是做压缩)变为read only.
5)11个只读段并发读不需要锁,唯一的可读可写段使用volatile关键字实现高效同步(jvm memory barrier)


论文地址: 
http://www-users.cs.umn.edu/~gade/earlybird.pdf

Twitter实时搜索系统EarlyBird,布布扣,bubuko.com

Twitter实时搜索系统EarlyBird

标签:实时检索   索引   twitter   

原文地址:http://blog.csdn.net/jollyjumper/article/details/29218789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!