# 搜索引擎架构


## 搜索引擎倒排索引
事实上，互联网一方面是将全世界的人和网络应用联系起来，另一方面，也将全世界的网页
通过超链接联系起来，几乎每个网页都包含了一些其他网页的超链接，这些超链接互相链
接，就让全世界的互联网构成了一个大的网络。所以，搜索引擎只需要解析这些网页，得到
里面的超链接，然后继续下载这些超链接的网页，继续解析，这样就可以得到全世界的网页
了。
## 搜索引擎结果排序
PageRank 算法认为，如果一个网页里包含了某个网页的超链接，那么就表示该网页认可
某个网页，或者说，该网页给某个网页投了一票。

PageRank 算法对于互联网网页排序效果很好，但是，对于那些用户生成内容（UGC）的
网站而言，如果想在这些网站内部进行搜索，
PageRank 算法就没什么效果了。

那么，要相对这些站内搜索引擎的结果进行排序，就需要利用其它一些信息以及算法，比如
可以利用文章获得的点赞数进行排序，点赞越多，表示越获得其它用户的认可，越应该在搜
索结果中排在前面。利用点赞数排序，或者 PageRank 排序，都是利用内容中存在的推荐
信息排序，而这些推荐信息来自于广大参与其中的人，因此这些算法实现也被称作“集体智
慧编程”。

使用词频 TF 进行排序，词频表示某个词在该文档中出现的频繁程度，也代表
了这个词和该文档的相关程度
