君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 106 下一页

2013年4月19日 #

摘要: 本文分析BdbFrontier对象的相关状态和方法BdbFrontier类继承自WorkQueueFrontier类 WorkQueueFrontier类继承自AbstractFrontier类BdbFrontier类的void start()方法如下(在其父类WorkQueueFrontier里面):org.archive.crawler.frontier.BdbFrontier org.archive.crawler.frontier.WorkQueueFrontierpublic void start() { if(isRunning()) { ... 阅读全文
posted @ 2013-04-19 04:34 刺猬的温驯 阅读(1345) 评论(0) 推荐(0) 编辑

摘要: 我们从上文的CrawlController对象可以看到,爬虫任务是通过ToePool类建立线程ToeThread的线程池的我们在了解采集线程池的相关类之前,先有必要了解一下CrawlController类,因为我们的爬虫操作指令最终是通过调用CrawlController对象的方法的CrawlController类的成员和方法都是直接与采集任务相关的,好比控制中心// ApplicationContextAware implementation, for eventing AbstractApplicationContext appCtx; public void setAppli... 阅读全文
posted @ 2013-04-19 04:33 刺猬的温驯 阅读(1667) 评论(0) 推荐(0) 编辑

摘要: 如果孤立的发现某类的方法,不免使我们难以理解它的含义;当我们将对象的相互作用串起来的时候,更容易理解方法的意图在对象之间相互通信时,首先应该了解对象的状态;最基本的入手方式就是 了解它的构造函数或者初始化方法以及执行相关方法后状态的变化,其次是相应方法的输入参数(发送消息)当我们在后台建立一个爬行任务时,在Heritrix3.1.0系统里面对应一个爬行任务类,当前爬行任务的所有属性和行为都封装在这个爬行任务类里面这个类为CrawlJob(org.archive.crawler.framework),我们先来熟悉一下该类的相关成员和方法爬行任务CrawlJob类实现了两接口Comparable& 阅读全文
posted @ 2013-04-19 04:32 刺猬的温驯 阅读(1850) 评论(1) 推荐(0) 编辑

2013年4月18日 #

摘要: 如果从heritrix3.1.0系统的静态逻辑结构入手,往往看不到系统相关对象的交互作用;如果只从系统的对象动态结构 分析,则又看不到系统的逻辑轮廓所以源码分析需要动静兼顾,使我们更容易理解它的逻辑与交互,本文采用这个分析方法入手本文要分析的是spring给Heritrix3.1.0系统bean带来了什么样的管理方式,spring容器的配置文件我们已从上文有了初步的了解先了解spring容器在系统中是怎样加载配置文件以及怎么初始化的,当我们执行采集任务的build操作时调用CrawlJob对象的void validateConfiguration()/** * Does the ass... 阅读全文
posted @ 2013-04-18 22:06 刺猬的温驯 阅读(2409) 评论(0) 推荐(0) 编辑

2013年4月10日 #

摘要: 上文Heritrix 3.1.0 源码解析(一)实际上是讲述Heritrix3.1.0在eclipse中的环境搭建,还属于对Heritrix3.1.0 源码解析的热身阶段,本文接着分析Heritrix 3.1.0的任务配置,Heritrix3.1.0版本与原来的Heritrix1.14.4版本很大的不同是 任务配置文件从order.xml文件转到了crawler-beans.cxml文件,而crawler-beans.cxml实际上是一个spring的容器配置文件,是用spring管理的,我们先来眼熟一下该文件的样子(这里面我配置了一个任务): # This Propertie... 阅读全文
posted @ 2013-04-10 22:29 刺猬的温驯 阅读(4245) 评论(0) 推荐(0) 编辑

摘要: Heritrix是一个比较经典的开源爬虫,本人打算用它来做一些数据采集应用网上关于heritrix系列的博文 大多是老版本的(1.14.4版本),Heritrix 3.1.0版本的文章则极其稀少由于新的版本相对老版本改动比较大,所以本人不能循老版本的套路了(Heritrix 3.1.0 版本引入spring容器管理,相对增强了对spring熟悉的开发人员的亲和性)首先介绍新的Heritrix 3.1.0 版本怎么在eclipse下搭建环境,以便于自己调试与开发网上介绍在Eclipse中搭建Heritrix 3.1.0的文章总是讲的很复杂,无疑增加了开发人员对它的敬畏感,不利于Heritrix 阅读全文
posted @ 2013-04-10 07:18 刺猬的温驯 阅读(5067) 评论(8) 推荐(0) 编辑

2013年4月7日 #

摘要: 上文最后提到jackrabbit的检索默认实现类QueryImpl,先熟悉一下该类的继承层次QueryImpl继承自抽象类AbstractQueryImpl,而抽象类实现了Query接口(JCR的接口)Query接口源码如下:/** * A Query object. */public interf... 阅读全文
posted @ 2013-04-07 03:29 刺猬的温驯 阅读(813) 评论(0) 推荐(0) 编辑

摘要: 本文家下来分析SearchManager类的源码,该类实现了SynchronousEventListener接口,而SynchronousEventListener接口继承自EventListener接口,EventListener接口只有一个事件监听方法SearchManager类的源码如下:/*... 阅读全文
posted @ 2013-04-07 02:51 刺猬的温驯 阅读(697) 评论(0) 推荐(0) 编辑

摘要: 本文接着分析jackrabbit与lucene交互的核心类SearchIndex,lucene的索引与检索都是通过该类实现的SearchIndex类继承自抽象类AbstractQueryHandler,而抽象类AbstractQueryHandler实现了QueryHandler接口先浏览一下Que... 阅读全文
posted @ 2013-04-07 02:21 刺猬的温驯 阅读(1291) 评论(0) 推荐(0) 编辑

摘要: 上文分析了jackrabbit对富文档的文本抽取实现的源码,我们注意到,上文的文本抽取类LazyTextExtractorField继承自lucene的AbstractField类,即LazyTextExtractorField类是Field类型的,这正是构建lucene索引Document里面的F... 阅读全文
posted @ 2013-04-07 01:13 刺猬的温驯 阅读(880) 评论(0) 推荐(0) 编辑

上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 106 下一页