今天刚把《这就是搜索引擎.技术核心详解》一书看完,趁着还有点印象,做一个简单的综述。
先从一个宏观的角度来认识一下搜索引擎的架构是怎样的。
简单来讲,可以将搜索引擎的工作流程分为两部分,一个用户主导的前端级,另外一个是服务器主导的后台级。前端级主要负责发送查询需求并分析,接受搜索结果并排序的功能的这两个功能。当然这只是广义的用户级,因为这只是针对于大型的存储与计算平台来讲的,在图中体现为index files。后台则是主要囊括信息的搜集以及信息的处理,当然在实现这两个简单的功能的时候,涉及众多的技术,比如网络爬虫,网页去重,反作弊,链接分析等
网络爬虫
网络爬虫很好理解,就像它的名称一样,作为一个程序,它一直在按着某种规则在互联网中扒取网页,而最终扒取下来的网页信息就会使用到建立索引中。
当然作为一个搜索引擎的网络引擎,他的网络爬虫性能必须非常优秀。如果网络爬虫扒取的网页质量很差,速度很慢的话,将会直接影响建立起来索引的质量,最终导致用户体现差等悲观结局。而网络爬虫为体现其高性能,必须在扒取策略上设计得很高效,为此爬虫在遍历网页的时候,有宽度优先遍历策略,非完全PageRank策略,OPIC策略,大站优先策略等。另外由于爬虫扒取的网页是静态的,但是实际上网页是在动态更新的,为达到动态更新的目的,搜索引擎需