您的位置 AB分类目录 > 百科资讯 >

搜索引擎的工作原理简介

导读:搜索引擎是世界上最复杂的系统之一,其工作原理我们只需要了解即可,对于真正的搜索引擎核心技术基本上是不会公布出来的,我们可以从信息检索技术中窥探一二。今天,SEOBOOK带来…

搜索引擎是世界上最复杂的系统之一,其工作原理我们只需要了解即可,对于真正的搜索引擎核心技术基本上是不会公布出来的,我们可以从信息检索技术中窥探一二。今天,SEOBOOK带来的是《搜索引擎的工作原理简介》。希望对大家有所帮助。

搜索引擎的工作原理

一、文本采集

搜索引擎利用爬虫通过爬行页面上的超链接来发现新的页面,如果这些页面已经被收录没有任何更新则不会采取任何行为,如果发现页面已经有些更新,则会重新对该页面进行收录,如果这些页面是未被收录的,则根据页面的质量与互联网内容重复率来决定是否还要进行收录。

1)爬虫

在不同的搜索引擎中有不同的叫法,百度称之为蜘蛛(spider),谷歌称之为机器人(Robot),当然比较传统的叫法称之为网络爬虫,或者简称为爬虫。搜索引擎的爬虫组件担当着搜索引擎用来发现、抓取并存储到数据库的职责。而SEOer调整并让网站更受爬虫的喜欢,简化爬虫的工作量,减少蜘蛛陷阱等不利于爬行的页面设计。

2)信息源

有了爬虫,那么爬虫的爬行对象是什么呢?一般爬虫可以爬行并抓取的信息源类型为RSS,RSS是一个信息源的标准,有了这个站长都可以轻松转载对方网站的文章。RSS采用的标准的XML数据格式。

3)转化

爬虫会遇到各种各样的问题,可能会遇到一个html页面,也可能会遇到一个word文档,还可能是一个txt文件,那么一般来讲,搜索引擎会将这些转化为统一的文本格式和文档的元数据格式。在转化的过程中就需要对某些内容进行删减了。还有一个问题就是网站的编码的问题,一般国内用的主要是GB2312或UTF-8的字符编码规范。

4)文档数据库

爬虫将抓取的这些页面数据需要有序的存放到文档数据库中,需要保证效率为前提,然后还需要考虑压缩、结构化数据、超级链接的提取等等才能够存入到数据库中。

二、文本转换

1)解析器

搜索引擎中的解析器主要负责处理文档中的文本词素序列,这就涉及到中文分词和英文分词的问题了,更好地理解词与词组的意思。提到“苹果”这个词,很多人的第一想法就是吃的一种水果,但也有不少人会联想到苹果公司生产“iPhone”手机。这就是解析器需要搞明白的事情,明确这篇提到苹果的文章,到底是写水果了,还是在写苹果手机。

这种文档结构通常是HTML或XML结构,HTML主要是定义网页的结构的,XML就是数据上的存储。且这两种结构的文档都是标签语言,比如HTML中的a标签<a href=””></a>。

2)停止词去除

有一些词在句子中只是让句子更通顺,并非起着非常重要的功能性上的作用,比如英文的“to”、“of”、“on”等,中文的“的”、“地”、“得”等。当然也可能存在实际的价值,如“大地”中的“地”就是有一定价值的词,不能当做停止词而被去除。

3)词干提取

针对于英文而言,需要提取词的词干,比如“fishing”提取fish,但是中文却几乎不需要这做,因为做不了。

4)超链接的提取与分析

对于文档解析中的超链接的提取是非常方便的,毕竟很容易识别出来嘛,然后这些也会被记录到文档数据库中,然后大量的超链接经常搜索引擎算法的计算,会给予某些页面非常高的信任度,也可能会惩罚那些恶意利用超链接作弊的页面,这中间包括站内和站外。

5)信息的提取

对于页面上到底是与哪些词相关的,什么时间发布的,谁发布的,转自哪里等等页面信息都是需要搜索引擎来提取的。

6)分类组件

分类组件页面都打上归属标签,比如是关于体育的,还是关于IT的,亦或者是娱乐的。

三、索引创建

1)文档统计

文档统计简单汇总和记录词、特征和文档的统计信息。比如我们在搜索引擎搜索后,搜索框下方会出现出现的相关结果数约多少个。

2)加权-正向索引

加权是搜索引擎的排名非常重要,它是搜索引擎对页面识别并处理后的初始权重,体现出了文档中某些词的相对重要性,而这个加权结果是通过搜索引擎检索模型来确定下来的。被SEOer熟知的一种加权方法称之为TF-IDF,该方法有很多变型,但都基于索引项在文档中出现的次数或频率(词频 – TF)以及索引项在整个文档集合中出现的频率(反文件频率 – IDF)。用比较简单话来描述,就是当这个索引项出现在整个文档集合(搜索引擎数据库)中的数量小的时候,那么反文件频率则会小,这样的页面更容易排名;文档中的词频越大,页面加权会越大。

3)倒排索引

倒排索引组件是搜索引擎的核心组件,是将文档对应多个索引项的形式,转化成为索引项对应多个文档的形式,这种做法称之为建立倒排索引。

4)索引分派

索引分派是将索引分发给多台计算机,理论上就是多个网络节点,分布式结构可以让其更加有效率,同时可以降低其他节点出现问题导致的时延。

四、用户交互

1)查询输入

查询输入组件提供了用户接口和解析器,在用户输入并搜索之后,对该查询内容进行解析,也可以理解为进行分词处理。

2)查询转化

查询转化包括的内容很多,比如之前说过的分词技术、停止词的去除和词干的提取等等,然后生成可以查询的索引词。

在这里还会平时我们常见到的搜索引擎努力纠正拼写错误的词汇,比如“博人转”会自动显示“博人传”,输入拼音“cuowu”,通常会显示“错误”的相关搜索,而不是“错悟”。同时还有一些相关建议,比如下拉词和相关搜索词的出现。

3)结果输出

结果输出页面会对已经获得的排好序的页面显示给用户,比如这些页面的标题、摘要、图片展示等等。

五、索引排序

1)查询处理

查询处理组件会在检索模型的基础上,采用排序算法来计算这些文档的分值,也等于是第二次加权处理。这里的索引排序算法就是我们平时听到的那些了,比如百度的绿萝算法、Google的企鹅算法等等。

2)性能优化

优化索引排序算法和索引表的设计,可以降低系统响应的时间,从而提升查询的吞吐量。

3)分布式

既然索引可以分布的给出,那么排序也是可以分布式给出的,也是提升的效率,节省了时间。

六、评价与调整

1)日志

搜索引擎的点击日志是调整和改善搜索引擎系统效果和效率的非常有价值的信息源,通过用户查询与搜索引擎交互的信息可以调整搜索算法的不足。就明显的就是SEOer常说的提升用户友好度,方法就是提高用户在网站的停留时间和打开的页面数量,时间和数量越大,说明这个网站的用户友好度就越高,提升这样的页面的排名,有利于提升搜索友好度,对搜索引擎也是有着极大好处的。

2)排序分析

拥有了日志之后,就需要对现有排序进行分析了,比如给予初始排名比较高的页面却没有点击,或者又点击跳出率却非常高,降低这类页面的排名,对于翻了几页后,点击多且用户表现出来的行为非常好的情况,会提升这类页面的排名,当然,这种页面很多的话,也会对整站排名有着非常好的作用。

3)性能分析

性能分析则是对搜索响应、吞吐量、网络各个节点的使用情况进行分析,从而更好地优化搜索引擎的性能。

以上就是SEOBOOK带来的《搜索引擎的工作原理简介》。感谢您的观看。

AB分类目录部分内容来源于互联网,登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,如有侵犯版权请来信告知QQ:2216876660,我们将立即处理。

为您推荐