简述搜索引擎概念及工作原理(百度搜索引擎工作原理)
作者:king发布时间:2023-11-28分类:SEO百科浏览:30
搜索引擎工作原理
通过《SEO新手入门系列2022(二):SEO 101》这篇文章已经简单的介绍了什么是SEO,和搜索引擎,这一篇文章来详细的介绍下搜索引擎的工作原理,搜索引擎的工作顺序大致是:抓取网页(Crawing),建立索引(Indexing),排名显示(Ranking)。
就像在前一篇文章提到的,搜索引擎就是一个问答机器,他们去挖掘,理解,组织网上能发现的任何信息,然后把他们以相关的方式组织起来,再返回给使用者,为了能把你的网站展现给用户之前,最重要的一件事就是你的网站能够被搜索引擎发现 ,否则在SEPRs(搜索引擎结果页)是不会有你网站信息的。
搜索引擎是怎么工作的?
就如SEO小也开头说的,搜索引擎想把网站信息提供给用户,需要完成三个主要任务:
- 爬取网站(Crawing)会有很多蜘蛛程序,顺着URL一个网站一个网站的爬取网站内容。
- 创建索引(Indexing)对蜘蛛爬取的内容进行分类,创建相关索引,并储存在数据库中。
- 建立排名(Ranking)为可能的问题建立相关性排名,相关性最高的内容排在靠前的位置。
当然其中的技术实现是非常复杂的,作一名SEO新人,可能占时不需要深究这些问题,SEO小也在大学毕业的时候,作的毕业设计就是搜索引擎,当然那时候是使用第三方的索引分词库,我们大部分时间只要配置规则就可以,更深入的内容我会另写些篇文章来分享。
搜索引擎抓取(Crawing)
搜索引擎要想把相关内容展示给用户,第一步做的就是派出他的小弟——搜索引擎爬虫(蜘蛛),他们会不停的抓取互联网上新的内容,或者更新数据库中旧的内容,内容的形式多种多样,有可能是网页,PDF文件,MP3音频文件,什么形式都有,但是他们都是通过URL去找到这些内容的。
搜索引擎一开始会有一些种子URL,这些URL都是一些质量比较高的链接地址,而且蜘蛛们就会顺着这些地址不断的往下抓取,在这个过程中,新发现的链接又会被作为新一轮爬取任务的种子URL,直到没有新的链接可以爬取。
搜索引擎索引(Indexing)
建立索引是一个非常复杂的过程,这个过程涉及的内容比较多的是计算机方面的内容,有算法,有地理环境,有社会学研究等等因素,搜索引擎会根据很多参数去控制这些内容的分类,但是最重要的一点,就是这些内容的相关性,相关性越高,被分在同一个分类的可能性就越高,建立索引是为了后期能快速展现给用户作准备,也是为排名提供数据基础。
搜索引擎排名(Ranking)
用户在搜索引擎输入框输入他的关键词,搜索引擎会用惊人的效率在他庞大的索引数据库中找到相关的内容,并按内容的相关性和一些其它的参数来对内容进行排序,这个过程就是搜索引擎排名,靠前的内容,在搜索引擎看来就是和用户的问题相关性越高的回答。
如果我们不想让搜索引擎把一些内容展示给用户,这也是可以办到的,但是大多数情况下我们不会这么做,搜索引擎优化的目的就是为了让用户看到我们,并能让搜索引擎优先展示我们想给用户看的内容。
搜索引擎能找到你么?
就像前面说的,如果要让自己的网站出现在SERPs中,那前提就是让网站被搜索引擎蜘蛛爬取和索引,如果你已经有了网站,你可以使用site命令来查看自己网站被收录的情况。
可以看到SEO小也已经有135个网页已经被谷歌收录,这个结果是经常会变动的,能看到一个大概的数据,并不是特别的精准,还有很多没有显示的网页,用一些关键词也是能搜索到。如果想看更精准的结果,可以使用Google Search Console在收录功能中查看,这就相当于我们百度的站长平台,但是SEO小也个人觉得比百度站长的作用要大的多,所以SEO小也一般只会看GSC的数据,很少去看百度站长平台的数据,以后也会专门写几篇文章来介绍。
如果你使用site命令找不到网站的收录,那有可能是下面几种原因:
- 网站是新站,搜索引擎还没有收录。
- 网站没有外部导入链接,可以到一些平台发一些外链。
- 网站目录结构太深,太复杂,让搜索引擎爬虫抓取的效率太低。
- 网站可能包含一些阻止搜索引擎爬虫的代码,如noindex,nofollow
- 网站可能被搜索引擎处罚,因为一些作弊或者垃圾广告等。
我们有时候把精力太多的放在如何让搜索引擎抓取内容,却忽略如何不让搜索引擎不要爬取一些内容,比如说一些重复的页面,一些搜索参数,还有比如说公司的联系方式,留言等,这些内容被收录意义并不大,而且还会让搜索引擎不知道具体哪个界面是你最想展示给用户的,所以这时候我们就要告诉搜索引擎,哪些资源他不要花时间去爬取,这就要robots.txt文件出场了,这篇SEO教程先到这。
搜索引擎的工作原理简介
搜索引擎是世界上最复杂的系统之一,其工作原理我们只需要了解即可,对于真正的搜索引擎核心技术基本上是不会公布出来的,我们可以从信息检索技术中窥探一二。SEO百科网带来的是《搜索引擎的工作原理简介-什么是搜索引擎》。希望对大家有所帮助。
一、文本采集
搜索引擎利用爬虫通过爬行页面上的超链接来发现新的页面,如果这些页面已经被收录没有任何更新则不会采取任何行为,如果发现页面已经有些更新,则会重新对该页面进行收录,如果这些页面是未被收录的,则根据页面的质量与互联网内容重复率来决定是否还要进行收录。
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="https://www.8848seo.cn/article-40728-1.html"></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)性能分析
性能分析则是对搜索响应、吞吐量、网络各个节点的使用情况进行分析,从而更好地优化搜索引擎的性能。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 lkba@aliyun.com 举报,一经查实,本站将立刻删除。
转载请注明来自专注SEO技术,教程,推广 ,本文标题:《简述搜索引擎概念及工作原理(百度搜索引擎工作原理)》
标签:搜索引擎概念