dySE:一个Java搜索引擎的实现,第2部分 网页预处理 - 编程入门网
dySE:一个Java搜索引擎的实现,第2部分 网页预处理时间:2010-11-20 IBM 董宇在 上一部分 中,您了解到如何编写一个 spider 程序来进行网页的爬取, 作为 spider 的爬取结果,我们获得了一个按照一定格式存储的原始网页库,原 始网页库也是我们第二部分网页预处理的数据基础。网页预处理的主要目标是将 原始网页通过一步步的数据处理变成可方便搜索的数据形式。下面就让我们逐步 介绍网页预处理的设计和实现。 预处理模块的整体结构 预处理模块的整体结构如下: 图 1. 预处理模块的整体结构 通过 spider 的收集,保存下来的网页信息具有较好的信息存储格式,但是 还是有一个缺点,就是不能按照网页 URL 直接定位到所指向的网页。所以,在 第一个流程中,需要先建立网页的索引,如此通过索引,我们可以很方便的从原 始网页库中获得某个 URL 对应的页面信息。之后,我们处理网页数据,对于一 个网页,首先需要提取其网页正文信息,其次对正文信息进行分词,之后再根据 分词的情况建立索引和倒排索引,这样,网页的预处理也全部完成。可能读者对 于其中的某些专业术语会有一些不明白之处,在后续详述各个流程的时候会给出 相应的图或者例子来帮助大家理解。 建立索引网页库 原始网页库是按照格式存储的,这对于网页的索引建立提供了方便,下图给 出了一条网页信息记录: 清单 1. 原始网页库中的一条网页记录
dySE:一个Java搜索引擎的实现,第2部分 网页预处理(2)时间:2010-11-20 IBM 董宇我们采用“网页库名—偏移”的信息对来定位库中的某条网页记录。由于数 据量比较大,这些索引网页信息需要一种保存的方法,dySE 使用数据库来保存 这些信息。数据库们采用 mysql,配合 SQL-Front 软件可以轻松进行图形界面 的操作。我们用一个表来记录这些信息,表的内容如下:url、content、offset 、raws。URL 是某条记录对应的 URL,因为索引数据库建立之后,我们是通过 URL 来确定需要的网页的;raws 和 offset 分别表示网页库名和偏移值,这两 个属性唯一确定了某条记录,content 是网页内容的摘要,网页的数据量一般较 大,把网页的全部内容放入数据库中显得不是很实际,所以我们将网页内容的 MD5 摘要放入到 content 属性中,该属性相当于一个校验码,在实际运用中, 当我们根据 URL 获得某个网页信息是,可以将获得的网页做 MD5 摘要然后与 content 中的值做一个匹配,如果一样则网页获取成功,如果不一样,则说明网 页获取出现问题。 这里简单介绍一下 mySql 的安装以及与 Java 的连接: 安装 mySql,最好需要三个组件,mySql,mySql-front,mysql-connector- java-5.1.7-bin.jar,分别可以在网络中下载。注意:安装 mySql 与 mySql- front 的时候要版本对应,MySql5.0 + MySql-Front3.2 和 MySql5.1 + MySql -Front4.1,这个组合是不能乱的,可以根据相应的版本号来下载,否则会爆“ ‘ 10.000000 ’ ist kein gUltiger Integerwert ”的错误。 导入 mysql-connector-java-5.1.7-bin.jar 到 eclipse 的项目中,打开 eclipse,右键点需要导入 jar 包的 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |