搜索引擎原理

阅读 / 问答 / 标签

搜索引擎原理是什么?如百度,迅雷,是怎样找到资源的。

搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。 现在的搜索引擎已普遍使用超链分析技术,除了分析索引网页本身的内容,还分析索引所有指向该网页的链接的URL、AnchorText、甚至链接周围的文字。所以,有时候,即使某个网页A中并没有某个词比如“恶魔撒旦”,但如果有别的网页B用链接“恶魔撒旦”指向这个网页A,那么用户搜索“恶魔撒旦”时也能找到网页A。而且,如果有越多网页(C、D、E、F……)用名为“恶魔撒旦”的链接指向这个网页A,或者给出这个链接的源网页(B、C、D、E、F……)越优秀,那么网页A在用户搜索“恶魔撒旦”时也会被认为更相关,排序也会越靠前。 搜索引擎的原理,可以看做三步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索排序。 从互联网上抓取网页利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。建立索引数据库由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。在索引数据库中搜索排序当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。 搜索引擎的Spider一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。 互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千G甚至几万G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在70%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。而互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是我们无法用搜索引擎搜索到的。 你心里应该有这个概念:搜索引擎只能搜到它网页索引数据库里储存的内容。你也应该有这个概念:如果搜索引擎的网页索引数据库里应该有而你没有搜出来,那是你的能力问题,学习搜索技巧可以大幅度提高你的搜索能力。

搜索引擎原理的元搜索引擎

元搜索引擎(MetaSearchEngine)不是一种独立的搜索引擎,它最显著的特点是没有自己的资源索引数据库,是架构在许多其他搜索引擎之上的搜索引擎。元搜索引擎在接受用户查询请求时,可以同时在其他多个搜索引擎中进行搜索,并将其他搜索引擎的检索结果经过处理后返回给用户。元搜索引擎为用户提供一个统一的查询页面,通过自己的用户提问预处理子系统将用户提问转换成各个成员搜索引擎能识别的形式,提交给这些成员搜索引擎中,然后把各个成员搜索引擎的搜索结果按照自己的结果处理子系统进行比较分析,去除重复并且按照自定义的排序规则进行排序返回给用户。所以,一般的元搜索引擎都包括三大功能结构:提问预处理子系统、检索接口代理子系统和检索结果处理子系统。

百度图片搜索引擎原理是如何实现的

这个涉及到和复杂的模式识别以及人工智能的算法

搜索引擎原理与实践的文摘

第1章 搜索引擎概述在浩瀚的网络资源中,搜索引擎(Search Engine)是一种网上信息检索工具,它能帮助用户迅速而全面地找到所需要的信息。我们可以这样对搜索引擎进行定义:搜索引擎是一种能够通过因特网接受用户的查询指令,并向用户提供符合其查询要求的信息资源网址的系统。多数网上用户使用搜索引擎来获得所需信息,据CNNIC的统计,用搜索引擎搜索仅次于电子邮件的应用。目前网上比较有影响的中文搜索工具有:Google、百度(Baidu)、北大天网、爱问(iask)、雅虎(Yahoo)、搜狗(Sogou)等搜索引擎。英文的有:Yahoo、AltaVista、Excite、Infoseek、Lycos、Aol等。另外还有专用搜索引擎,例如,专门搜索歌曲和音乐的;专门搜索电子邮件地址、电话与地址及公众信息的;专门搜索各种文件的FTP搜索引擎等。本章主要介绍搜索引擎的概念、搜索引擎的发展史、搜索引擎的分类以及一些著名的搜索引擎。1.1 搜索引擎的概念搜索引擎是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,为用户提供检索服务的系统。搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。真正意义上的搜索引擎,通常指的是收集了互联网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。

搜索引擎原理的数据结构

搜索引擎的核心数据结构为倒排文件(也称倒排索引),倒排索引是指用记录的非主属性值(也叫副键)来查找记录而组织的文件叫倒排文件,即次索引。倒排文件中包括了所有副键值,并列出了与之有关的所有记录主键值,主要用于复杂查询。 与传统的SQL查询不同,在搜索引擎收集完数据的预处理阶段,搜索引擎往往需要一种高效的数据结构来对外提供检索服务。而现行最有效的数据结构就是“倒排文件”。倒排文件简单一点可以定义为“用文档的关键词作为索引,文档作为索引目标的一种结构(类似于普通书籍中,索引是关键词,书的页面是索引目标)。