持续更新。
- FB search框架
Php写的Browse layer,负责同client对话以及param处理和passing等。
C++写的backend,最大的一坨叫做TopAggregator,主要负责三件事 a)rewrite query to get better search results (e.g. force retrieval); b)和每个vertical的RackAggregator对话,比如posts,web,people等,从这些分支收集response; c)对response做twiddling,所以有一堆twiddlers比如web twiddler
每个RackAggregator做的事主要就是和index对话,从各个shards拿结果(用reverse index做retrieval, top m, determined by static rank),以及score results(用forward index / docdata做ranking)。
然后再返回php的middle tier,做caching, privacy check等等。 - Forward index和Reverse index
f index主要是给id找doc,r index主要是给出terms找list<doc(id)> - index build:
也是分batch pipeline (base index build)和live update pipeline (realtime)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。