现在的位置: 首页 > 搜索技术 > 正文

搜索引擎初探

2015年07月21日 搜索技术 ⁄ 共 1376字 ⁄ 字号 评论关闭

搜索引擎作为所有互联网应用里技术含量最高的一种,包含了丰富的架构和算法知识。出于对网络爬虫的兴趣,现就对搜索引擎的相关技术进行学习。

1、搜索引擎的演变

搜索引擎的技术发展可以概括为“更全、更快、更准”,其在信息的相关性、可信赖度以及用户的真正需求这几个因素上不断发展壮大。从最早的人工分类目录,主要关注信息的可信赖度,但缺乏丰富的信息和关联;到文本检索,重点关注查询关键词和网页内容的相关性,但难以鉴别信息的可信度;到PageRank链接分析技术,有效度量网页可信度标准,但缺乏对用户个性化要求的考虑;再到以用户为中心,试图通过用户的相关信息去了解用户的真正需求。

在这过程中,通过提高网络爬虫技术来提高索引网页数量——“更全”,通过索引排序技术、缓存技术、分布式海量云存储来实现“更快”的响应,通过对用户行为的研究以及在技术上带来的用户体验的提升达到“更准”的目的。

2、搜索引擎技术架构

搜索引擎前台计算系统,用于响应用户查询并实时地提供准确结构。

当搜索引擎接收到用户的查询词后,首先需要对查询词进行分析,以确定用户的真实搜索意图。此后,会在缓存(缓存系统省略了重复计算的资源消耗,加快了响应速度)中查找,如果缓存信息无法满足用户,搜索引擎需要调用“网页排序”模块。

搜索引擎后台计算系统,用于获取并存储海量的网页相关信息,后台离线计算。

通过网络爬虫将互联网信息爬取到本地,通过“网页去重”模块检测重复内容。搜索引擎对网页进行解析,抽取网页主体内容及包含的链接。通过“倒排索引”数据结构来保存网页内容和网页之间的链接关系。搜索引擎通过云存储与云计算技术搭建了海量信息的可靠存储和计算架构。

3、搜索引擎工作原理要点

*网页搜集

网络爬虫爬取网页是将Web上的网页集合看做一个有向图,搜集过程从给定起始URL集合S开始,沿着网页中的链接,按照一定策略遍历,不停从S中移除URL,下载相关的网页,解析出网页中的超链接URL,并将未访问的URL加入集合S中。

*预处理(四个方面)

关键字提取

提取出网页源文件内容部分所含的关键词。对于中文来说,就是根据一个词典∑,用一个“切词软件”,从网页文字中切出词典∑所含的词语来。之后,该网页主要就由一组词来近似代表,p={ t1, t2, ..., tn}。对于一篇网页来说,有效的词语数量在200左右。

网页去重

消除内容重复或主题重复的网页

链接分析

HTML文档中所含的指向其他文档的链接信息不仅给出了网页之间的关系,而且还对判断网页内容有很重要的作用。

链接分析,简单的说就是全民投票,目标关键词得票率越高的网站,其关键词在搜索引擎的排名就越靠前。

网页重要程度计算

*查询服务

查询方式与匹配

倒排文件是用词来作为索引的一个数据结构。当输入要查询的词的时候,先将输入内容进行分词,形成词的列表,再将这每一个词在倒排文件词表中查找,查找到的每一个词所对应的倒排表(文档编号的集合),记L(ti),它们的交集即为对应查询的结果文档集合,从而实现查询和文档匹配。

结果排序

通过预处理阶段为每篇网页形成一个独立于查询词的重要性指标,将它和查询过程中形成的相关性指标结合起来形成一个最终的排序。

文档摘要


搜索引擎体系结构图

参考资料:

《这就是搜索引擎:核心技术详解》,张俊林,电子工业出版社

《搜索引擎——原理,技术与系统(第二版)》,李晓明 闫宏飞 王继民,科学出版社

抱歉!评论已关闭.