基于Heritrix体系结构的垂直搜索引擎研究

摘要:垂直搜索引擎作为一种新型的搜索引擎服务模式,它的出现彻底解决了通用搜索引擎中一直存在的信息量大、查询不准确、深度不够等一系列问题。该文通过对Heritrix体系结构的深入分析,详细阐述了Heritrix在垂直搜索引擎中实现数据搜集的整个过程。

关键词:垂直搜索引擎;网络蜘蛛;Heritrix;体系结构

中***分类号:TP311文献标识码:A文章编号:1009-3044(2012)15-3662-03

Heritrix Architecture-based Vertical Search Engine

CHEN Hao, GUAN Wei

(Guangdong Technical College of Water Resources and Electric Engineering, Guangzhou 510635, China)

Abstract: The vertical search engine as a new search engine service model, It completely solved the large amount of information has always existed in the general search engine query is not accurate, not deep enough, a series of questions. In this paper, in-depth analysis of the Her itrix architecture, Described in detail the whole process Heritrix data collected in the vertical search engine.

Key words: vertical search engine; web spiders; Heritrix; architecture

搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。

垂直搜索引擎是针对某一个行业的专业搜索引擎,是对搜索引擎的细化和延伸,是对网页库中某类专业信息进行的一次整合,通过定向分词字段抽取出需要的数据,经处理后再以特定的数据库格式返回给用户。

i J2vm7Gji;z0垂直搜索引擎相比通用搜索引擎最大的区别在于对网页信息的结构化信息抽取,通过将网页中的非结构化数据抽取成特定的结构化信息数据。通用搜索引擎是基于视觉的网页块分析,以网页块作为最小单位;而垂直搜索是以结构化数据作为最小单位,将这些结构化数据存储到数据库中,经深度加工即去重、分类、分词、索引等一系列处理后,再以检索的形式满足用户的需求。中国经济网经济博客*c’vwjq8zT)X

垂直搜索引擎的应用领域广泛,比如企业库搜索、供求信息搜索引擎、购物搜索、房产搜索、人才搜索、地***搜索、mp3搜索、***片搜索等等,几乎各行各业各类信息都可以进一步细化成各类的垂直搜索引擎。

1垂直搜索引擎的数据采集技术

垂直搜索引擎由抓取模块、索引模块、搜索模块和信息数据库组成。抓取模块通过网络蜘蛛负责在信息源中抓取数据并存入信息数据库;索引模块对信息数据库中的数据建立索引库为用户提供快速的检索服务;搜索模块一般以B/S形式出现,根据用户的检索词为用户提供有效的检索信息;信息数据库中则存储了抓取模块抓取回来的信息。

垂直搜索引擎抓取模块中的网络蜘蛛和通用搜索引擎网络蜘蛛相比更加专业,定制化范围针对性更强。可定向性的采集和垂直搜索范围相关的网页忽略不相关的网页和不必要的网页,选择内容相关的以及适合做进一步处理的网页,通过深度优先采集策略,对页面更新频率有选择的进行调整。根据垂直搜索引擎对信息要求的特点,数据采集须由以下几个方面进行考虑:

1)信息源的稳定性,不能让信息源网站感觉到来自网络蜘蛛的压力。

2)抓取成本的控制问题。

3)用户检索方式的改善程度。

根据以上三点制定一种较好的爬取策略,要做到恰到好处。策略上可以对网站中网页更新的系数、网页的重要系数、用户点击系数(或曝光系数)、网站稳定系数先行做评估,根据这些系数来确定这些网站中网页更新的频率。再由此更新频率对网页进行分级判定,以此降低成本又很好的解决了更新网页的抓取问题,系数比较低的网页一月抓取一次,稍微高点的一周抓取一次、中等的几天到一天抓取一次、高的几小时到几分钟抓取一次。

2 Heritrix的特点

基于系统可移植性和可扩展性的方面考虑,垂直搜索引擎的网页搜集部分使用开源的Heritrix作为爬虫(或网络蜘蛛)。Heri trix作为Java开源项目,是SourceForge上的开源产品。其实现原理是根据给定URL地址向网站提交HTTP请求,抓取网络资源,获取完整、及时的站点内容。通过分析已***网页内的有效链接URL地址,进一步获取更多的网络资源。Heritrix可以通过Web用户界面方便地启动和管理***进程,控制策略灵活。也可以获取***像以及其他非文本内容。储存的页面内容不会被修改,完成相应网页库结果,并生成本地文件及相应的日志信息。

Heritrix作为网络蜘蛛,具有以下特点:

1)专注的网络信息***功能。

2)适用于各种类型网页信息并严格保持网页原貌。

3)在保留历史的***网页库内容基础上不断地添加新的***内容。

4)以任务形式管理并提供命令行和友好的Web控制界面。

5)可配置参数众多可更为灵活地管理***任务。

3 Heritrix体系结构分析

Heritrix的体系结构是采用了多线程和链接队列的形式组织。整个系统的工作部分可以分成对配置文件管理部分、***任务管理部分、***控制部分和***工作单元。附带的工作队列、缓冲区等的引入则为网络蜘蛛提供了良好的性能。

整个体系围绕***控制器组织,从外部配置文件获取运行参数和***任务配置。生成***任务管理器和待***的网络资源列表。

1)整个系统结构中以多线程队列作为工作的基本机制,不断地从任务管理其获取新的***列表。

2)***列表经过抓取范围控制器进行过滤,提交给***地址管理器。

3)***管理器中的网页URL,根据控制器要求,形成等待***队列。

4)处理器链接根据***队列的内容,根据处理器和线程池等其他资源的空闲情况,不断形成内部的工作链。

5)最终调用负责网络访问的CrawlURL对象进行处理,得到的***页面经过分析提供新的***链接,填充到***任务队列中。

上述的基本过程不断循环,完成新资源的发现和已***资源的不断更新,最终形成一个自动运行的网络蜘蛛。Heritrix网络蜘蛛工作的体系结构如***1所示:

4 Heritrix的功能和作用

***控制器是整个体系的总体框架,控制器组合网络蜘蛛的各种工作部件。其中每一部分的功能和作用描述如下:

1)***控制器CrawlController

***控制器CrawlController是整个***过程的总控和指挥者。控制其他功能部件的协调工作,组合了在网络抓取过程中所有需要协同工作的功能类。以主线程的形式运行,为网络蜘蛛的运行提供了高层的访问接口,避免使用者的复杂操作。通过调度,最终把***地址管理器Frontier中地址列表传递给线程池中的ToeThreads,完成***任务。***控制器中的不同组件不必互相调用,通过控制器就可以完成联系,形成了整体的运行环境。

2)***管理器CrawlOrder

***管理器CrawlOrder根据配置信息生成***的任务对象,任务配置信息通常读取Order.xml和seed.txt的内容形成。读取的结果会形成一系列的***任务内容属性。Order.xml用来配置爬取过程中的功能类组合,可以用于功能扩展。Seeds.txt文件时用来存放希望抓取的网站入口地址。

3)范围控制器CrawlScope

CrawlScope是按照规则对***内容进行过滤,主要控制将哪个URL入队。使用范围控制器可以避免***内容的无限膨胀。

4)边界控制器Frontier

边界控制器Frontier主要用来确定下一个将被抓取的网页。实现对网站访问的均衡处理,避免过多线程同时访问同一网站造成网站的压力。***后的结果也被返回Frontier中,利用分析得到的新的URI进行后续访问。Frontier内至少要包括最新发现的URL资源列表、正在处理的URL列表、已经***的URL列表。Frontier工作中需要依赖PreconditionEnforcer、LinksScoper和Frontier Scheduler对象。PreconditionEnforcer对象用来在抓取前检查DNS和robots,避免非法抓取;LinksScoper用来判断正在处理的地址是否属于***范围内,***优先级如何控制等;The FrontierScheduler用来把新发现的地址URLs添加到Frontier中安排***。

5)服务器缓存Servercache

服务器缓存Servercache实现搜索引擎汇中的DNS缓存功能。Servercache中存放服务器的持久信息,包括IP地址、历史***记录、机器人策略等。缓存中的信息能够被爬行部件随时查到,用来加快网络爬虫的***速度。

6)Web管理控制台

Web管理控制台依赖于Heritrix服务已经启动,为用户提供更方便的访问方式。管理控制台提供了密码保护,相关的内容在Heritrix的配置参数里使用。

7)Crawler命令处理部件

操作者可以通过选择Crawler命令来操作控制台。通过命令行参数也可以方便地操作网络蜘蛛,其中包含了足够的信息表明要爬的URL和操作控制参数。

8)处理链ProcessorChainList

处理链保存了当前网络爬虫的任务链表,储存当前的工作状态和控制***流程。处理链中主要包含了五个重要的链表,包括:预取处理链(Pre-fetch processing chain)、抓取处理链(Fetch processing chain)、抽取处理链(Extractor processing chain)、写处理链(Write/index processing chain)、提交处理链(Post-processing chain)。

1)预处理链(Pre-fetch processing chain):主要根据robot协议、DNS以及***范围控制信息判断网络地址是否当前***,另外完成一些准备工作,如对处理进行延迟和重新处理。内部依赖于Preselector和PreconditionEnforcer类对象完成相应的功能。

2)抓取处理链(Fetch processing chain):主要是***获得需要的各种网络资源,利用FetchHTTP等功能类,完成DNS转换、填写HTTP资源请求和响应表单,接收获得的信息。

3)抽取处理链(Extractor processing chain):当提取完成时,分析网页内的HTML和JavaScript,提取新的资源URL,保持到相应的队列。

4)写处理链(Write/Index processing chain):存储爬行结果,返回内容和抽取页面特征,完成信息过滤并储存。采用默认的ARC? WriterProcessor进行处理,通过扩展的处理,可以直接完成分析和索引并存储操作。

5)提交处理链(Post-processing chain):完成最后的日志和资源维护,所有队列资源都会最终进入提交处理链,即使被拒绝***的资源地址也会进行边界测试等操作。内部依赖于CrawlStateUpdater、LinksScoper、FrontierScheduler等操作。

5 Heritrix工作流程

Heritrix整个处理链协调工作前后衔接,形成网络蜘蛛的流水式***流程,最大程度地发挥系统工作效率。其工作流程结果如***2所示:

6结论

Heritrix丰富的体系结构和多元化的定制功能,为垂直搜索引擎更加专注、具体和深入的信息化服务模式提供了必要的数据支持,为满足某一特定领域或某一特定人群对于某一特定信息需求提供了有效保证。

参考文献:

[1]黄玮夏.分类搜索引擎的体系构建及其使用方法探析[J].情报科学,2010(4).

[2] Sriram Raghavan,Hector Garcia-Molina.Crawling the hidden Web[C].Proc. of the International Conference on Vary I arge Data Bas es(VLDB), Rome, Italy,2010,9.

[3]陈振宇,赵继海.搜索引擎的工作机制与web信息检索技术[J].情报检索,2009(11).

[4] Almpanidis G,Kotropoulos C,Pitas.I Combining Text and Link Analysis for Focused Crawling - an Application for Vertical Search Engines[J].Information System,2007,32(6)886-908.

[5] Kapetanios E,Sugumaran V,Spiliopoulou M.An Ontology-Based Focused Crawler.LNCS 5039,2008,376-379.

基于Heritrix体系结构的垂直搜索引擎研究

转载请注明出处学文网 » 基于Heritrix体系结构的垂直搜索引擎研究

学习

选主板,先认芯AMD主流芯片组详解

阅读(470)

本文为您介绍选主板,先认芯AMD主流芯片组详解,内容包括AMD主芯片组哪个好,amdk15主板芯片组。在以往的很长一段时间里,作为处理器厂商的AMD并没有进入到芯片组市场。其目的,就是为了避免与NVIDIA和ATI这样的芯片组厂商形成竞争,从而影响到

学习

分布式文件系统NTFS概述

阅读(79)

本文为您介绍分布式文件系统NTFS概述,内容包括ntfs分布式文件系统,dfs分布式文件系统作用。摘要:NTFS(NewTechnologyFileSystem)是WindowsNT操作环境和WindowsNT高级服务器网络操作系统环境下的文件系统。文件系统是操作系统用于明确磁盘

学习

华尔街观察“二次探底”

阅读(51)

本文为您介绍华尔街观察“二次探底”,内容包括深度解析华尔街牛股,华尔街下的牛市。欧洲债务危机不断发酵,美国债务问题又因延续减税措施和延长失业救济金时限而再度引人瞩目,阴影笼罩在华尔街上空。

学习

人物志 第10期

阅读(102)

本文为您介绍人物志 第10期,内容包括人物志全文解读,人物志译文完整版。8月31日,朱新礼与可口可乐等签署协议,将其所持有的国内最大的果汁生产商――汇源果汁集团有限公司38.45%股份悉数售给可口可乐。可口可乐将在此桩系列交易中收购汇源

学习

领海基线,告别“私定终身”

阅读(285)

本文为您介绍领海基线,告别“私定终身”,内容包括领海基线辞典,领海基线不能超过多少海里。这种做法愈演愈烈,大大减少了其它国家和整个国际社会可以使用的海域,引发纷争不断,因而在司法实践中产生了对其作限制使用的判例,并将在今后《公约

学习

婚姻故事六则

阅读(31)

本文为您介绍婚姻故事六则,内容包括口述婚姻感人故事,经典婚姻故事电影。这六个故事说得是同一个主题――爱情。故事虽短,却有震撼人心的力量,真心希望每个人都可以从这些故事中得到一些关于婚姻和爱情的启示。

学习

品析《山中访友》

阅读(29)

本文为您介绍品析《山中访友》,内容包括山中访友导语全文,山中访友原文及。【关键词】山中访友品析

学习

走遍天下书为侣

阅读(38)

本文为您介绍走遍天下书为侣,内容包括走遍天下书为侣,走遍天下书为侣课文答案。似乎(shìsì)供给(gōnggòng)

学习

建设数字化医院

阅读(34)

本文为您介绍建设数字化医院,内容包括数字化医院解决方案,数字化医院建设方案。全面建设数字化医院对于我国的大部分医院来讲仍存在不少困难,但数字化医院是医院现代建设的必然发展趋势。计算机与网络技术的发展为数字化医院的建设提供了

学习

试论我国基层民主建设

阅读(26)

【摘要】近年来我国基层民主建设有了长足的发展,作为最本质、最简单、最贴近公民生活的民主形式,村民自治、职工代表大会、业主委员会、社区民主、基层投票等均得到了人民群众的充分认可。本文阐述了什么是基层民主以及我国基层民主建设的

学习

简析国际引渡制度

阅读(28)

本文为您介绍简析国际引渡制度,内容包括我国引渡制度的发展与完善,试述引渡制度。【摘要】随着国际交往日益频繁,国际引渡合作制度也在不断向前发展。作为国际引渡制度重要方面的国际引渡原则,其发展变化体现了现代国际引渡制度的新发展动

学习

我眼中的冈田武史

阅读(25)

本文为您介绍我眼中的冈田武史,内容包括冈田武史在中国全集,冈田武史完整版。5月31日-6月14日,央视体育频道《足球之夜》分三期播出了纪录片《冈田武史在中国》,引起了广大球迷强烈反响,一片叫好,并为纪录片中讲述的冈田故事所感动。

学习

城市垂直绿化

阅读(16)

本文为您介绍城市垂直绿化,内容包括城市垂直绿化,城市垂直绿化的好处。【摘要】垂直绿化是提高城市绿化覆盖率的重要途径之一。本文介绍了垂直绿化材料的选择,分析了垂直绿化的主要形式,并提出了加强垂直绿化的管理措施,仅供业界参考。

学习

产业链如何垂直整合

阅读(49)

本文为您介绍产业链如何垂直整合,内容包括什么叫做产业链的垂直整合,产业链垂直整合原理。市场在下游,利润来自市场。只有那些制造产业链最终产品的企业,才是它所在产业链的代表企业,才有整合其产业链的先决条件。

学习

浅谈元搜索引擎的关键技术

阅读(29)

本文为您介绍浅谈元搜索引擎的关键技术,内容包括元搜索引擎的定义,元搜索引擎弥补传统引擎的不足。摘要:元搜索引擎可以很好解决传统搜索引擎的覆盖率不全的问题,并且可以综合多个传统搜索引擎的优势。专门建立一个基于多个传统的搜索引擎

学习

IPSec体系结构中AH和ESP协议的分析

阅读(17)

本文为您介绍IPSec体系结构中AH和ESP协议的分析,内容包括ipsec的ah协议的安全功能是什么,ipsec的保密性由esp协议支持。摘要:IPSec不是一个单独的协议,而是一组协议。除了包含一些认证和加密算法外,其中包含了2个最重要的协议:AH和ESP;AH和ES

学习

关于山地垂直自然带的几个问题

阅读(29)

本文为您介绍关于山地垂直自然带的几个问题,内容包括阿尔泰山地垂直自然带分布图,山地垂直自然带是什么。关于山地垂直自然带的问题,学生们一直不能很好地理解,下面笔者将以珠穆朗玛峰为例结合具体问题做一详细阐述。

学习

高层建筑施工的轴线\标高及垂直度的控制

阅读(31)

本文为您介绍高层建筑施工的轴线\标高及垂直度的控制,内容包括高层建筑物轴线测设方法及要求,高层建筑怎样传递轴线及标高。【摘要】随着我国城市化进程的快速发展,越来越多的高层建筑也随之出现。而高层建筑比起普通建筑来讲,施工过程中