首页 > 其他 > 详细

Twitter实时搜索系统EarlyBird

时间:2014-06-08 05:52:18      阅读:339      评论:0      收藏:0      [点我收藏+]
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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!