转载来学习.原文地址:http://www.ctony.cn/search-engine-working-principle_164.html
-
其实现在网络当中有很多不同的搜索引擎,这些系统在工作原理上各不相同,但是,他们的基本原理都是一样的,包含爬虫程序、分析程序、索引程序、检索程序和用户接口界面5个基本部分。
搜索引擎首先都是通过爬虫定期遍历互联网,将网页的URL、Meta和内容等相关信息收集到服务器当中,然后通过索引和存储优化处理,通过检索页面面向用户提供信息检索服务。
-
具体工作流程的结构如下:
-
一、首先搜索引擎使用蜘蛛爬虫程序根据设定好的策略对互联网进行遍历并下载相关信息,程序根据一些起始URL路径开始,下载相应的页面,并且从页面中抽取 新的URL到队列当中,一直重复动作到最后遍历了该站点的所有页面,重复动作的跳出条件使用时间、数量等一些相关属性进行约束,尽量保证爬虫的效率。同时 有些搜索引擎使用堆栈来进行记录,重复动作到堆栈为空后跳出。搜索引擎当中会有多个爬虫进程同时遍历网络,这样做能够提高爬虫效率。同时,在设计当中为了 考虑以后的扩展性功能,爬虫程序可以根据要求设定搜索范围和搜索策略,在爬取过程中,应该以宽度优先搜索策略为主,深度优先搜索策略为辅,这样就能够解释 为什么扁平的网站优化效果比较好。
-
二、当爬虫将所需要的信息抓取下来后,分析程序对于这些信息进行分析以用于索引,分析技术基本包括分词、停用词表、单复数转换、词缀去除、同义词替换等等 很多功能,不同的网站根据不同的语言、用户、提供服务类型等等都会有自己不同的分析方法,通过以上的方法,可以有效过滤网页信息,提取网页当中表述的重要 信息。对于页面关键字,页面内容偏向的分析就是在这一步了。
-
三、索引程序将以上信息表示成便于检索的方式并存储在本地索引数据库中,在设计搜索引擎程序的时候这一部分非常关键,因为高质量的索引模型会带来更高的效 率,不单单体现在索引服务器的维护方面,对于速度和空间的利用方面都会有很大的提升。传统的索引模型当中包括倒序文档、向量空间模型和概率模型等等。
四、用户通过前端界面提交请求到搜索引擎,触发检索程序,程序从所以当中找出与请求相关的网页信息,这一步当中,程序需要快速处理用户的请求语句,分析方 法类似于分析网页的方法,然后将相关度大于阈值的结果按照相关度递减的顺序反馈给用户,这里的相关度排序往往就是SEO做的工作成果体现了。以前的搜索引 擎程序只是利用词频或者词语出现的标记位置来设置权重,现在链接锚文字也在计算权重之内,还有很多其他的因素,根据搜索引擎的思想不同而有所改变。
五、将分析好的数据结果集输出界面,展示给用户。搜索引擎将结果用线性的网页列表来展示给用户,包括Title、Description、URL等等。
我们知道,互联网的数据是实时变化的,这种变化随着网络的日益庞大是一个非常大的数量级更新,我们使用爬虫程序和索引程序往往都是按照一定的周期工作才能 够保持数据的新鲜,这种方式对于搜索引擎来说是其极被动的。在近几年的搜索引擎发展当中,推送数据渐渐成为一种趋势,而SEO往往可以降低搜索引擎的工作 成本提高工作效率,保持了网站数据在搜索引擎当中的数据及时更新和内容精准。
对于SEO来说,初级的SEO要学会合理掌控前三部分,通过对于爬虫的友好结构和推送数据达到吸引爬虫的目的,然后将优化的结果更加有利于分析程序的有效 信息收集,最后适应索引程序将有效数据存储在数据当中,更加容易匹配有效的用户请求。而有了一定经验的SEO就是在这个基础上,要抓住用户心理,分析用户 行为,通过对于搜索引擎为基础的互联网市场活动当中捕捉市场规律,引导用户行为到达网站。
0 Comments.