【技术性】Search知识

持续更新。

  1. 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等等。
  2. Forward index和Reverse index
    f index主要是给id找doc,r index主要是给出terms找list
  3. index build:
    也是分batch pipeline (base index build)和live update pipeline (realtime)。

你可能感兴趣的:(search)