搜索分为三个阶段:
第一:网页抓取,其实搜索计算的东西都是他数据库中的东西,所以说你网站有几万的文章,百度就收一个首页 ,你再多都没有用,收录了才行,(差点跑题)
所以需要给用户最全面的信息他就必须有非常强大的数据库支持,因此搜索引擎就首先需要先在大量的网页,这个工作就交给了我们都很熟悉的蜘蛛去做了,他每天 没事 就是到处下载网页,分析,再下载,再分析,从搜索引擎的种子站点出发,不断的抓取其中包含的链接页面,从统计上来说几乎可以抓到互联网上80%意以上的网 页,当然这取决于搜索引擎设置了多少种子站点,还有他的蜘蛛的工作效率。这就是搜索引擎的下载部分。
第二部分:网页分析,在这个阶段搜索引擎会调用各种计算模块来计算你网页的主题,镜像度,入度,出度等等排名因素,当然还会对网页进行切词分析核心 关键词,计算出来网页镜像度过高的页面,也就是我们说的采集页面,那么他就会删除这些页面,对于搜索引擎来说同样的东西我只要一个就够没有必要都收录,占 用数据库资源,所以网站的原创性很重要,这个阶段搜索引擎也就可以计算出来你的网站的每个页面的链接到哪些网页,哪些网页又链接想你了,这样每个网页都有 一个权重的值,就好像pr的计算一样的,百度吧这个过程放到了后台,所以我们看到百度都是很久才会放出收录的网页,那是因为他在计算,而gg就不同他是先 下载,下载了以后就能查询到,但是等他计算完成的时候如果页面不符合要求他就会删除,这就是很多人来问我说为什么我的站gg今天收录了好几百,明天就只有 一十几个页面了,这个时候你就需要从你的网页内容上那中啊原因了,不过也有可能是计算未完成的原因,如果你等了一段时间以后还是这样就需要从你的网页内容 上那找原因了,基本就是镜像度过高什么的了。还有一个就是索引,搜索引擎是使用倒排索引对网页建立从关键词到网页的索引机制,这是目前最快速的检索机制, 这个不展开来说,太长了。
第三部分是网页的查询阶段了:搜索引擎每天需要处理非常多的查询,那么为什么我们都可以在非常短的时间内得到答案?几乎是1秒之内,这个取决于搜索 的检索机制,搜索引擎我们前面讲到了,在前期已经下载和分析了网页,然后都每个网页建立索引,我们输入关键词就可以获得这个关键词所包含的网页,然后搜索 调用它的计算排名的模块来进行计算,就可以得到一个排序然后放出来,就得到了我们的搜索结果了,说的很口语,呵呵,怕很多人看不懂。搜索速度快的很大一个 原因还在于搜索引擎的缓存机制,对那些搜的人多的关键词处理好的排序以后放到内存中,这样用户再提交的时候就直接从内存中读取,就非常的快了,大家应该都 知道,在搜索的关键词中只有非常小的一部分关键词占据了搜索量的绝大部分,这样就形态就非常适合缓存这种机制了,吧搜索量大的都建立缓存放到内存中,只有 少部分的关键词需要读取数据库,自然对服务器的压力就小了很多。这就是搜索处理的三部曲,以及为什么搜索引擎给你结果那么快的原因。