搜索引擎原理都是一样的,都是把别人的网站信息抓取到自己数据库里,然后通过用户检索,为用户提供所需信息。所以,大家做门头沟网站开发及优化的时候,只要把一个搜索引擎来作为核心目标,其他的就好办了。下来门头沟网站开发为大家详细地讲解搜索引擎原理。
发现、搜集网页信息
搜索引擎会排出一个能够在网上发现新网页并抓取文件的程序,我们通常把这个程序叫做“网络蜘蛛”程序(Spider)或者机器人(robot)。一个典型的网络蜘蛛工作的方式,是查看一个页面,这个页面是蜘蛛已知的页面,并从中找到相关信息,这颇像正常用户的浏览器工作原理,在浏览和抓取完这个页面的信息之后,它就开始继续爬行,从该页面的所有链接中出发,继续寻找相关的信息,依此类推,直至穷尽。就像我们常用的浏览器,看完一个页面,存下来,放进数据库,然后继续看……
网络蜘蛛要求快速、全面。网络蜘蛛为实现其快速地浏览整个互联网,通常在技术上采用抢先式多线程技术实现在网上聚集信息。通过抢先式多线程的使用,你能索引一个基于URL链接的Web页面,启动一个新的线程跟随每个新的URL链接,索引一个新的URL起点。
当然在服务器上所开的线程不能无限膨胀,需要在服务器的正常运转和快速收集网页之间找一个平衡点。在算法上各个搜索引擎技术公司可能不尽相同,但目的都是快速浏览Web页和后续过程相配合。目前国内的搜索引擎技术公司中,比如百度公司,网络蜘蛛采用了可定制、高扩展性的调度算法,使得搜索器能在极短的时间内收集到最大数量的互联网信息,并把所获得的信息保存下来以备建立索引库和用户检索。
建立索引库
搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引文件。其他还包括去除重复网页、分析超链接、计算网页的重要程度。
这个工作流程就看搜索引擎是否强悍了。网络蜘蛛抓取完页面之后,这些页面总有个归属,搜索引擎的索引程序此刻就开始运动了。因为这关系到用户能否最迅速地找到最准确、最广泛的信息。通过索引程序,将蜘蛛抓取回来的页面进行分解和分析,建立一个巨大表格,放入数据库中,从而极快地建立索引。大多数搜索引擎在对网站数据建立索引的过程中采取了按照关键词在网站标题、网站描述、网站URL等不同位置的出现或网站的质量等级等建立索引库,从而保证搜索出的结果与用户的查询串相一致。
搜索词处理
这是对前两个过程的检验,检验该搜索引擎能否给出最准确、最广泛的信息,检验该搜索引擎能否迅速地给出用户最想得到的信息。对于网站数据的检索,搜索引擎采用Client/Server结构、多进程的方式在索引库中检索,大大减少了用户的等待时间,并且在用户查询高峰时服务器的负担不会过高(平均的检索时间在0.3秒左右)。对于网页信息的检索,百度公司其搜索引擎运用了先进的多线程技术,采用高效的搜索算法和稳定的UNIX平台,因此可大大缩短对用户搜索请求的响应时间。这就造成了一个结果,即用户在搜索引擎界面上输入关键词,单击“搜索”按钮之后,搜索引擎从索引数据库中找到匹配该关键词的网页,立刻会出现回应,为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要及其他信息。
排名
这其实是所有想要进行搜索引擎关键词排名的人最关心的,即为什么别人的搜索结果会排在前面。在提交搜索之后,搜索引擎排序程序启动,从搜索数据库中找到所有包含搜索词的网页,并且按照排名算法来计算出哪些网页应该排在前面。排名算法是一个非常复杂的过程,尽管表面上看起来只有零点几秒,但却需要实时从索引数据库中找到相关页面,实时计算相关性,并加入过滤算法,其复杂程度根本不是行外人所能窥探的。当然,我们也不需要过多地去窥探它,只要摸索出它的排名特征,就可以有效地进行搜索引擎关键词排名。
不过,许多搜索引擎的原理是一样的,但是搜索引擎的一些细小算法还是不一样的,特别是百度他与SOSO,SOGOU,GOOGLE有很大的不同,它是先把别人网站内容先抓取过来,然后慢慢审核,审核完了,在把别人网站的内容放出来。