首页 > 编程知识 正文

搜索引擎基于实时技术(搜索引擎工作原理流程图)

时间:2023-05-04 08:06:28 阅读:64355 作者:2419

1 .搜索引擎的分类搜索引擎根据其结构主要分为三部分。

分别是“全文搜索引擎”

索引类搜索引擎((Search Index/Directory ) ) ) ) ) )。

元搜索引擎。 全文搜索引擎

全文搜索引擎是名副其实的搜索引擎,国外代表性有谷歌、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内知名的有百度(Baidu ) 它们都是真正的搜索引擎,因为它们从由从internet提取的每个站点的信息(以网页字符为中心)创建的数据库中搜索与用户查询条件匹配的相关记录,并按一定的顺序将结果返回给用户。

从搜索结果来源的角度看,全文搜索引擎又可以分为两类。 一种是拥有自己的搜索程序(Indexer ),俗称“蜘蛛”(spyder )程序或“机器人”(robot )程序,构建web数据库,搜索结果直接从自己的数据库中调用。 如上述7个发动机; 另一种是借用其他引擎的数据库,以Lycos引擎等自定义格式对搜索结果进行排序。

在搜索引擎分类部,论述了全文搜索引擎从网站中提取信息构建web数据库的概念。 搜索引擎的自动信息收集功能分为两种。 一种是定期搜索,每隔一段时间(例如谷歌通常为28天),蜘蛛搜索引擎搜索引擎就会自行派出“蜘蛛”程序,搜索一定IP地址范围内的互联网网站,一旦发现新网站,就会自动搜索网站的另一种是提交网站搜索。 这意味着站点所有者将自己向搜索引擎提交站点,并在一段时间(2天到几个月)内向站点发送“蜘蛛”程序,以便扫描站点并将相关信息存储在数据库中以供用户查询。 近年来,由于搜索引擎的索引规则发生了很大的变化,主动提交网站并不能保证你的网站进入搜索引擎的数据库。 目前最好的方法是增加搜索引擎找到你并自动收录网站的机会。

当用户使用关键字搜索信息时,搜索引擎在数据库中进行搜索,如果发现与用户请求内容匹配的站点,则使用特殊算法——,通常在网页中关键字的匹配度、出现位置、频率、链接质量3—— 这个引擎的特点是搜索率比较高。 目录索引

虽然有搜索功能,但从严格意义上讲,并不是真正的搜索引擎。 只有按目录列出的站点链接列表。(更简单说就是网址导航网站)

用户可以在每个分类目录中找到所需的信息,而不依赖于“关键字”(Keywords )进行查询。 目录中最具代表性的莫过于著名的雅虎,新浪分类目录搜索。

与全文引擎相比,目录索引有很多差异。

首先,搜索引擎是自动站点搜索,目录索引依赖手工操作。 用户提交网站后,目录编辑人员会自行浏览网站,根据定制的评分标准和编辑人员的主观印象,决定是否接受网站。 在目录索引之后,搜索引擎收录站点时,如果站点本身没有违反相关规则,则通常会成功登录。 目录索引对站点的要求非常高,无论登录多少次都不一定成功。 特别是像雅虎这样的超级索引,登录更加困难。

此外,登录搜索引擎时不需要考虑站点分类问题,但登录目录索引时,必须将站点放置在最佳目录(Directory )中。

最后,关于搜索引擎各个网站的信息都是从用户页面自动提取的,所以从用户的角度来看,我们有更多的自主权; 索引需要手动单独填写站点信息,存在各种限制。 此外,如果员工认为您提交的网站目录、网站信息不合适,他可以随时调整。 当然,我不会事先商量的。

目录顾名思义,就是将网站分类并保存在各自的目录中。 因此,用户可以在查看信息时选择关键字搜索,也可以按分类目录进行分层搜索。 使用关键字进行搜索时,与搜索引擎一样,网站会根据信息关联度进行排列,但其中只有很多人为因素。 在分层目录中搜索时,一个目录中网站的排名由标题字符的优先级决定(也有例外)。

目前,搜索引擎和目录索引有融合渗透的趋势。 一些原始的纯全文搜索引擎至今仍提供目录搜索。 例如,谷歌借用Open Directory目录来提供分类查询。 像雅虎一样! 这些老字号目录索引与谷歌等搜索引擎合作扩大了搜索范围。 在默认搜索模式下,一些目录类搜索引擎(如中国搜狐、新浪和网易)首先返回自己目录中匹配的网站,还有默认的web搜索,如雅虎。 这台发动机的特点是查找精度高。 元搜索引擎 (META Search Engine)

元搜索引擎接收到用户查询请求后,会同时在其他多个引擎中进行搜索,并将结果返回给用户。 著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中最具代表性的是搜索引擎。 搜索结果的排序可以直接按源引擎排序搜索结果,如Dogpile,也可以按自定义规则(如Vivisimo )排序结果。

上述除外

三大类引擎外,还有以下几种非主流形式:

垂直搜索引擎
  垂直搜索引擎为2006年后逐步兴起的一类搜索引擎。不同于通用的网页搜索引擎,垂直搜索专注于特定的搜索领域和搜索需求(例如:机票搜索、旅游搜索、生活搜索、小说搜索、视频搜索等等),如国内的酷讯,去哪儿,携程等。在其特定的搜索领域有更好的用户体验。相比通用搜索动辄数千台检索服务器,垂直搜索需要的硬件成本低、用户需求特定、查询的方式多样。
集合式搜索引擎
  集合式搜索引擎:该搜索引擎类似元搜索引擎,区别在于它并非同时调用多个搜索引擎进行搜索,而是由用户从提供的若干搜索引擎中选择,如HotBot在2002年底推出的搜索引擎。
门户搜索引擎
  门户搜索引擎:AOLSearch、MSNSearch等虽然提供搜索服务,但自身既没有分类目录也没有网页数据库,其搜索结果完全来自其他搜索引擎。
免费链接列表
  免费链接列表(Free For All Links简称FFA):一般只简单地滚动链接条目,少部分有简单的分类目录,不过规模要比Yahoo!等目录索引小很多。


2. 搜索引擎的技术架构

优秀的搜索引擎需要复杂的架构和算法,以 此来支撑对海量数据的获取、存储,以及对用户查询的快速而准确地响应。

从架构层面,搜索引擎需要能够对以百亿计的海量网页进行获取、存储、处理的能力,同 时要保证搜索结果的质量。

如何获取、存储并计算如此海量的数据?

如何快速响应用户的査 询?

如何使得搜索结果能够满足用户的信息需求?

这些都是搜索引擎面对的技术挑战。 下图是一个通用的搜索引笨架构示意图:



搜索引擎架构


搜索引擎由很多技术模块构成,各自负责整体 功能的一部分,相互紀合形成了完善的整体架构。

抓取网页:

搜索引擎的信息源来自于互联网网页,通过网络爬虫将互联网的信息获取到本地.因 为互联网页面中有相当大比例的内容是完全相同或者近似重复的,"网页去重"模块会对此做 出检測,并去除重复内容。

建立索引:

抓取到网页后,搜索引擎会对网页进行解析,抽取出网页主体内容和相关信息,(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等)。根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页建立索引。为了加快响应用户査询的速度,网页内容通过"倒排索引"这种高效查询数据 结构来保存,而网页之间的链接关系也会予以保存。之所以要保存链接关系,是因为这种关系 在网F相关性排序阶段是可利用的,通过"链接分析"可以判断页面的相对重要性,对于为用 户提供准确的搜索结果帮助很大。

由于网页数量太多,搜索引擎不仅需要保存网页原始信息,还要存储一些中间的处理结果 使用单台或者少量的机器明显是不现实的。Google等商业搜索引擎为此开发了一整套云存储与 云计算平台,使用数以万计的普通廉价PC搭建了海量信息的可靠存储与计算架构,以此作为搜索 引擎及其相关应用的基础支撑。优秀的云存储与云计算平台已经成为大型商业搜索引擎的核心 竞争力。 上面所述是搜索引擎如何获取并存储海量的网页相关信息,这些功能因为不需要实时计 算,所以可以被看做是搜索弓I擎的后台计算系统。

查询词分析

搜索引擎的最重要目的是为用户提供准确全 面的搜索结果,如何响应用户査询并实时地提供准确结果构成了搜索引擎前台计算系统。 当搜索引擎接收到用户的査询词后,首先需要对查询词进行分析,希望能够结合查询词和 用户信息来正确推导用户的真正搜索意图。在此之后,首先在缓存中査找,搜索引擎的缓存系 统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则 可以直接将搜索结果返回给用户,这样既省掉了重复计算对资源的消耗,又加快了响应速度;

搜索结果排序

如果保存在缓存的信息无法满足用户需求,搜索引擎需要调用"网页排序"模快功能,根据用 户的査询实时计算哪些网页是满足用户信息需求的,并排序输出作为搜索结果。而网页排序最 重要的两个参考因素中,一个是内容相似性因素,即哪些网页是和用户查询密切相关的;另外 一个是网页重要性因素,即哪些网页是质量较好或者相对重要的,这点往往可以从链接分析的 结果获得。结合以上两个考虑因素,就可以对网页进行排序,作为用户查询的搜索结果。



参考文献:

《这就是搜索引擎:核心技术详解》

《搜索引擎—信息检索实践》






版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。