搜索引擎(英文名:search engine),是根据用户需求与一定算法,运用特定策略从互联网检索出指定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境。搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上采集信息,在对信息进行组织和处理后,为用户提供检索服务,将检索的相关信息展示给用户的系统。搜索引擎是工作于互联网上的一门检索技术,它旨在提高人们获取搜集信息的速度,为人们提供更好的网络使用环境。从功能和原理上搜索引擎大致被分为全文搜索引擎、元搜索引擎、垂直搜索引擎和目录搜索引擎等四大类。搜索引擎发展到今天,基础架构和算法在技术上都已经基本成型和成熟。搜索引擎已经发展成为根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。
搜索引擎是伴随互联网的发展而产生和发展的,互联网已成为人们学习、工作和生活中不可缺少的平台,几乎每个人上网都会使用搜索引擎。搜索引擎大致经历了四代的发展:
1、第一代搜索引擎
1994年第一代真正基于互联网的搜索引擎Lycos诞生,它以人工分类目录为主,代表厂商是Yahoo, 特点是人工分类存放网站的各种目录,用户通过多种方式寻找网站,现在也还有这种方式存在。
2、第二代搜索引擎
随着网络应用技术的发展,用户开始希望对内容进行查找,出现了第二代搜索引擎,也就是利用关键字来查询,最具代表性最成功的是Google,它建立在网页链接分析技术的基础上,使用关键字对网页搜索,能够覆盖互联网的大量网页内容,该技术可以分析网页的重要性后.将重要的结果呈现给用户。
3、第三代搜索引擎
随着网络信息的迅速膨胀,用户希望能快速并且准确的查找到自己所要的信息,因此出现了第三代搜索引擎。相比前两代第三代搜索引擎更加注重个性化、专业化智能化使用自动聚类、分类等人工智能技术,采用区域智能识别及内容分析技术,利用人工介入,实现技术和人工的完美结合,增强了搜索引擎的查询能力。第三代搜索引擎的代表是Google,它以宽广的信息覆盖率和优秀的搜索性能为发展搜索引擎的技术开创了崭新的局面。
4、第四代搜索引擎
随着信息多元化的快速发展,通用搜索引擎在目前的硬件条件下要得到互联网上比较全面的信息是不太可能的,这时,用户就需要数据全面、更新及时、分类细致的面向主题搜索引擎,这种搜索引擎采用特征提取和文本智能化等策略,相比前三代搜索引擎更准确有效,被称为第四代搜索引擎。
工作原理
播报
编辑
搜索引擎的整个工作过程视为三个部分:一是蜘蛛在互联网上爬行和抓取网页信息,并存入原始网页数据库;二是对原始网页数据库中的信息进行提取和组织,并建立索引库;三是根据用户输入的关键词,快速找到相关文档,并对找到的结果进行排序,并将查询结果返回给用户。以下对其工作原理做进一步分析:
一、网页抓取
Spider每遇到一个新文档,都要搜索其页面的链接网页。搜索引擎蜘蛛访问web页面的过程类似普通用户使用浏览器访问其页面,即B/S模式。引擎蜘蛛先向页面提出访问请求,服务器接受其访问请求并返回HTML代码后,把获取的HTML代码存入原始页面数据库。搜索引擎使用多个蜘蛛分布爬行以提高爬行速度。搜索引擎的服务器遍布世界各地,每一台服务器都会派出多只蜘蛛同时去抓取网页。如何做到一个页面只访问一次,从而提高搜索引擎的工作效率。在抓取网页时,搜索引擎会建立两张不同的表,一张表记录已经访问过的网站,一张表记录没有访问过的网站。当蜘蛛抓取某个外部链接页面URL的时候,需把该网站的URL下载回来分析,当蜘蛛全部分析完这个URL后,将这个URL存入相应的表中,这时当另外的蜘蛛从其他的网站或页面又发现了这个URL时,它会对比看看已访问列表有没有,如果有,蜘蛛会自动丢弃该URL,不再访问。
二、预处理,建立索引
为了便于用户在数万亿级别以上的原始网页数据库中快速便捷地找到搜索结果,搜索引擎必须将spider抓取的原始web页面做预处理。网页预处理最主要过程是为网页建立全文索引,之后开始分析网页,最后建立倒排文件(也称反向索引)。Web页面分析有以下步骤:判断网页类型,衡量其重要程度,丰富程度,对超链接进行分析,分词,把重复网页去掉。经过搜索引擎分析处理后,web网页已经不再是原始的网页页面,而是浓缩成能反映页面主题内容的、以词为单位的文档。数据索引中结构最复杂的是建立索引库,索引又分为文档索引和关键词索引。每个网页唯一的docID号是有文档索引分配的,每个wordID出现的次数、位置、大小格式都可以根据docID号在网页中检索出来。最终形成wordID的数据列表。倒排索引形成过程是这样的:搜索引擎用分词系统将文档自动切分成单词序列-对每个单词赋予唯一的单词编号-记录包含这个单词的文档。倒排索引是最简单的,实用的倒排索引还需记载更多的信息。在单词对应的倒排列表除了记录文档编号之外,单词频率信息也被记录进去,便于以后计算查询和文档的相似度。
三、查询服务
在搜索引擎界面输入关键词,点击“搜索”按钮之后,搜索引擎程序开始对搜索词进行以下处理:分词处理、根据情况对整合搜索是否需要启动进行判断、找出错别字和拼写中出现的错误、把停止词去掉。接着搜索引擎程序便把包含搜索词的相关网页从索引数据库中找出,而且对网页进行排序,最后按照一定格式返回到“搜索”页面。查询服务最核心的部分是搜索结果排序,其决定了搜索引擎的量好坏及用户满意度。实际搜索结果排序的因子很多,但最主要的因素之一是网页内容的相关度。影响相关性的主要因素包括如下五个方面。
(1)关键词常用程度。经过分词后的多个关键词,对整个搜索字符串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对搜索词的意义贡献越大。常用词发展到一定极限就是停止词,对页面不产生任何影响。所以搜索引擎用的词加权系数高,常用词加权系数低,排名算法更多关注的是不常用的词。
(2)词频及密度。通常情况下,搜索词的密度和其在页面中出现的次数成正相关,次数越多,说明密度越大,页面与搜索词关系越密切。
(3)关键词位置及形式。关键词出现在比较重要的位置,如标题标签、黑体、H1等,说明页面与关键词越相关。在索引库的建立中提到的,页面关键词出现的格式和位置都被记录在索引库中。
(4)关键词距离。关键词被切分之后,如果匹配的出现,说明其与搜索词相关程度越大,当“搜索引擎”在页面上连续完整的出现或者“搜索”和“引擎”出现的时候距离比较近,都被认为其与搜索词相关。
(5)链接分析及页面权重。页面之间的链接和权重关系也影响关键词的相关性,其中最重要的是锚文字。页面有越多以搜索词为锚文字的导入链接,说明页面的相关性越强。链接分析还包括了链接源页面本身的主题、锚文字周围的文字等。