大数据技术文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章绪论
随着计算机技术、通信网、互联网的迅速发展和日益普及,Internet上的信息量快速增长。从海量的信息块中快速检索出用户真正需要的信息正变得很困难,信息搜索应向着具有分布式处理能力方向发展,本系统利用hadoop分布式开源框架良好的扩充能力、较低的运作成本、较高的效率和稳定性来满足需求。
现状:
缺陷和不足:
(1)结果主题相关度不高。
(2)搜素速度慢。
引入hadoop+nutch+solr的优点:
(1)hadoop平台数据处理高效。hadoop集群处理数据比起单机节省数倍的时间,数据量越大优势越明显,满足信息采集对数据处理的速度和质量要求。
(2)hadoop平台具有高扩展性。可以适当扩展集群数量来满足日益不断增加的数据量,而这并不会毁坏原集群的特性。
(3)安全可靠性高。集群的数据冗余机制使得hadoop能从单点失效中恢复,即Hadoop能自动进行数据的多次备份,以确保数据不丢失,即使当某个服务器发生故障时,它也能重新部署计算任务。
(4) Nutch不仅提供抓取网页的功能,还提供了解析网页、建立链接数据库、对网页进行评分、建立solr索引等丰富的功能。
(5)通过Nutch插件机制实现了系统的可扩展性、灵活性和可维护性,提高了开发效率。能够根据用户需求进行灵活定制抓取和解析,提高了系统使用性。
(6)通过solr集群,采用分布式索引在不同的机器上并行执行,实现检索服务器之间的信息交换。可以通过设定主题进行索引检索。
研究目标和内容
本文的研究目标是全面深入分析研究分布式搜索引擎,进而优化分布式搜索引擎中的索引构建策略,内容包括:
(1)深入研究hadoop分布式平台,仔细剖析hadoop中的分布式文件系统HDFS和map/Reduce编程模型。
(2)深入研究Nutch架构、相关技术与体系结构,着重研究分析Nutch插件系统的内部结构和流程;对protocol-httpclient插件进行开发支持表单登录;对 url过滤、信息解析插件进行开发,提高搜索的主题相关度;(实现用mapreduce的google的排序算法,改进系统搜索的关联度)。
系统功能结构
(1)本地资源解析模块
对本地文本pdf,word,excel内容解析和索引,按照主题分类,添加到相应的主题中进行搜素。(2)搜索模块
用户根据不同主题进行内容索引、关键词查询,将跟查询关联度最高的前n个文档返回给用户,并统计出在这些查询结果中出现频率最高的前n个词。用户可根据需求修改配置文件,提高搜索的相关度。
(3)信息爬取模块
①信息定制采集模块
1、种子URL:用作抓取器爬取的出发点,也叫做根URL。
2、关键字:关键字的选择很重要,描述了抓取任务的所属分类的主题方向。
3、深度:由于Nutch抓取模块采用的是广度优先的策略,抓取深度的选择决定了抓取时间的长度和抓取网页数量的大小。一般根据所选取的种子URL的类型和详细程度以及对网页抓取规模的需求来进行设置。
在信息定制模块用户设置主题信息,url信息、抓取深度的信息,抓取线程根据定制信息,开始抓取工作。(综合型搜索引擎;某一主题类网站,垂直搜索引擎;博客搜索引擎)
②信息解析过滤模块
根据fiddle进行登录分析,修改网络协议插件,支持简单的一次跳转表单登录,用户可以在配置文件中进行设置,然后抓取内容;复杂的登陆需要分析登陆过程,写出相对应的网络协议插件。由于本系统在网络资源采集过程中支持个性化定制,只对目标站点感兴趣的内容进行采集,分析目标站点的结构特点,在页面采集完成后,从中提取出链接、元数据、正文、标题、关键字、描述等信息,进行后续的过滤和其他处理。链接的提取首先要判断页面类型,页面的类型可以有应答头分析得出,根据不同的类型选择相应的爬取和解析插件,对遇到带有链接的标记如、
(4)系统管理模块
用户对根据需求对系统的配置参数进行修改。
论文组织结构
1、绪论。
本章首先介绍了本文研究的背景及意义,接着研究了信息采集与搜索技术的国内外发展现状,最后给出了本文研究的内容和论文组织结构。
2、关键技术。Hadoop、Nutch、Solr技术架构及文本检索算法
本章介绍了开源软件Hadoop、Nutch、Solr的基本情况;详细介绍了Hadoop框架及其进行分布式计算的编程模型MapReduce和数据存储系统HDFS;Nutch以Hadoop的分布式文件系统HDFS作为底层数据平台,采用MapReduce编程方式实现数据的分布式处理,以扩展机制为突出特性,用户可以根据实际需求对其添加插件进行扩展改进,构建自己的信息采集搜索系统;通过Solr集群,采用分布式索引在不同的机器上并行执行,实现检索服务器之间的信息交换,减小索引对机器的要求,同时介绍了常用的文本检索算法VSM ,pagerank和lucene默认的排序算法。
3、系统环境配置。Hadoop+Nutch+Solr系统的运行环境配置与运行。
本章介绍配置Hadoop+Nutch+solr系统的运行环境并详细阐述其运行流程。
4、基于Hadoop+Nutch+Solr的信息采集搜索系统的设计与实现。
本课题采用hadoop+Nutch+Solr开源软件,缩短了开发时间并且能够根据个性化需要采集数据提高搜素结果的精度,基于mapreduce实现了pagerank算法,将pagerank作为一个独立的索引项添加到nutch默认的lucene排序算法中,用户可以根据需求自己定义排序的规则,提高检索的相关度。(基于hadoop的nutch网页排序算法研究与实现)
系统相关技术介绍
Hadoop
hadoop由 Apache公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。Hadoop被定位为一个易于使用的平台,以HDFS、MapReduce为基础,能够运行上千台PCServer组成