简单说下,2011年左右的Paper,Paper里说Twitter的实时索引和检索系统叫做Earlybird,Paper中主要讲了2件事,第一个就是支持Twitter的实时索引的倒排索引结构是怎么样的,第二个就是利用Java并发模型,处理并发读写。
该引擎功能
- 低延时、高吞吐能力;
- 能处理突发峰值(Weibo的特性);
- 突出时效性,时间越近,排名应该越靠前;
- 该实时引擎支持AND、OR、NOT以及短语查询,实时性大约10S,查询latency 50ms;
该实时引擎,基于Lucene,使用Java开发,理由是
- 利用已存在的Lucene代码,并用来做全量索引;
- 适用于Twitter以JVM为中心的开发环境;
- 利用Java和JVM提供容易理解的并发模型;
其实上面几条理由与阿里很多开发项目类似,但是阿里的搜索引擎是C++编写的,质量也是非常不错的,叫问天(HA3)。