当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

dySE:一个Java搜索引擎的实现,第1部份 - 网络爬虫[Java编程]

赞助商链接



  本文“dySE:一个Java搜索引擎的实现,第1部份 - 网络爬虫[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

自己着手写一个搜索引擎,想想这有多 cool:在界面上输入关键词,点击搜 索,得到自己想要的后果;那么它还可以做什么呢?大概是自己的网站需求一个 站内搜索功效,抑或是关于硬盘中文档的搜索 —— 最重要的是,是不是认为众 多 IT 公司都在向你招手呢?假如你心动了,那么,Let's Go!

这里首先要阐明利用 Java 语言而不是 C/C++ 等别的语言的缘由,因为 Java 中供应了关于网络编程众多的底子包和类,比方 URL 类、InetAddress 类 、正则表达式,这为我们的搜索引擎实现供应了杰出的底子,使我们可以专注于 搜索引擎本身的实现,而不需求因为这些底子类的实现而分心.

这个分三部份的系列将渐渐阐明若何计划和实现一个搜索引擎.在第一部份 中,您将首先学习搜索引擎的工作原理,同时理解其体系构造,之后将讲授若何 实现搜索引擎的第一部份,网络爬虫模块,即完成网页汇集功效.在系列的第二 部份中,将介绍预处理模块,即若何处理汇集来的网页,整理、分词以及索引的 成立都在这部份之中.在系列的第三部份中,将介绍信息查询服务的实现,主要 是查询界面的成立、查询后果的返回以及快照的实现.

dySE 的整体构造

在开始学习搜索引擎的模块实现之前,您需求理解 dySE 的整体构造以及数 据传输的流程.事实上,搜索引擎的三个部份是彼此独立的,三个部份辨别工作 ,主要的关系表目前前一部份得到的数据后果为后一部份供应原始数据.三者的 关系以下图所示:

图 1. 搜索引擎三段式工作流程

在介绍搜索引擎的整体构造之前,我们鉴戒《计算机网络——自顶向下的方 法描写因特网特点》一书的叙事办法,从普通用户利用搜索引擎的角度来介绍搜 索引擎的具体工作流程.

自顶向下的办法描写搜索引擎履行历程:

用户通过浏览器提交查询的词大概短语 P,搜索引擎按照用户的查询返回匹 配的网页信息列表 L;

上述历程触及到两个问题,若何匹配用户的查询以及网页信息列表从何而来 ,按照什么而排序?用户的查询 P 经过度词器被切割成小词组 <p1,p2 … pn> 并被剔除停用词 ( 的、了、啊等字 ),按照系统保护的一个倒排索引可 以查询某个词 pi 在哪些网页中呈现过,匹配那些 <p1,p2 … pn> 都出 现的网页集便可作为初始后果,更进一步,返回的初始网页集通过计算与查询词 的相关度从而得到网页排名,即 Page Rank,按照网页的排名次序便可得到终究 的网页列表;

假定分词器和网页排名的计算公式都是既定的,那么倒排索引以及原始网页 集从何而来?原始网页集在之前的数据流程的介绍中,可以得知是由爬虫 spider 爬取网页并且保存在本地的,而倒排索引,即词组到网页的映射表是建 立在正排索引的底子上的,后者是解析了网页的内容并对其内容举行分词后,得 到的网页到词组的映射表,将正排索引倒置便可得到倒排索引;

网页的解析具体做什么呢?由于爬虫汇集来的原始网页中包含很多信息,比 如 html 表单以及一些垃圾信息比方广告,网页解析去除这些信息,并抽取此中 的正文信息作为后续的底子数据.

在有了上述的解析之后,我们可以得到搜索引擎的整体构造以下图:

图 2. 搜索引擎整体构造

爬虫从 Internet 中爬取众多的网页作为原始网页库存储于本地,然后网页 解析器抽取网页中的主题内容交给分词器举行分词,得到的后果用索引器成立正 排和倒排索引,这样就得到了索引数据库,用户查询时,在通过度词器切割输入 的查询词组并通过检索器在索引数据库中举行查询,得到的后果返回给用户.

无论搜索引擎的规模大小,其主要构造都是由这几部份构成的,并没有大的 差别,搜索引擎的好坏主如果决意于各部份的内部实现.

有了上述的对与搜索引擎的整体理解,我们来学习 dySE 中爬虫模块的具体 计划和实现.


  以上是“dySE:一个Java搜索引擎的实现,第1部份 - 网络爬虫[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • dySE:一个Java搜索引擎的实现,第1部份 - 网络爬虫
  • <b>dySE:一个Java搜索引擎的实现,第2部份 网页预处理</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .