- 最初只有1列searcher组成在线检索服务
- 由于用户体验的需要,首先增加Query Processor服务,负责查询意图分析,提升搜索的准确性。
- 随着访问量的增长,接着增加缓存模块,提升请求处理性能。
- 随着数据量(商品量)的增长,将包装服务从检索服务中独立出去,成为detail server服务。数据量的进一步增长,对数据进行类似数据库分库分表的分片操作。这时候,在线检索服务由多个分片的searcher列组成。自然而然,需要一个merger服务,将多个分片的结果进行合并。
Reference
http://www.infoq.com/cn/articles/jingdong-11-11-commodity-search-system-architecture-design