2007年10月

原创 Nutch的Analysis包详解

对于中国用户,最早遇到的棘手问题可能就是中文分词了。由于nutch对中文的支持默认是单字分词,所以很多人在一拿到nutch后要解决的第二件事情(第一件事情当然是让nutch跑起来了)往往是要加入一个可行的中文分词模块。所以对这个包研究的人也是最多的,在网上关于nutch的中文分词的文章也是人气很高的。那么就让我们一起来走近它看看它到底是怎么一回事,也让我们来做个中文分词器让中文在nutch上跑得更好。  首选一点, nutch的中文分词主要是在两个地方用到,一个是索引时,一个是在搜索时。由于nutch是基于lucene的,所以nutch的分词是继承 lucene的,所以基本原理大家就明白一二了。如果你对lucene不清楚请你先对它了解一下,不然在nutch里你是不能深入的。 在lucene里,它的分词模块抽象出来了一个抽象类--Analyzer.java。这个类包含这个抽象方法public abstract TokenStream tokenStream(String fieldName, Reader reader);用户自定义的Analyzer主要就是实现这个方法。这阅读全文>

发表于 @ 2007年10月23日 15:24:00|评论(loading...)|编辑

原创 Nutch Crawler工作流程

  Crawler和Searcher两部分被尽是分开,其主要目的是为了使两个部分可以布地配置在硬件平台上,例如Crawler和Searcher分别被放置在两个主机上,这样可以极大的提高灵活性和性能。  爬虫Crawler: Crawler的工作流程包括了整个nutch的所有步骤--injector,generator,fetcher,parseSegment, updateCrawleDB,Invert links, Index ,DeleteDuplicates, IndexMerger Crawler涉及的数据文件和格式和含义,和以上的各个步骤相关的文件分别被存放在物理设备上的以下几个文件夹里,crawldb,segments,indexes,linkdb,index五个文件夹里。 那么各个步骤和流程是怎么,各个文件夹里又是放着什么呢? 观察Crawler类可以知道它的流程./nutch crawl urls -dir ~/crawl -depth 4 -threads 10 -topN 2000 1、Injector 阅读全文>

发表于 @ 2007年10月14日 09:58:00|评论(loading...)|编辑

翻译 Hadoop -- Map-Reduce具体实现详解

HadoopMapReduce--Map-Reduce具体实现详解Keyword: FileSplit:文件的子集--文件分割体简介: 这篇文档描述在hadoop中map和reduce操作是怎样具体完成的。如果你对Google的MapReduce各式模式不熟悉,请先参阅MapReduce--http://labs.google.com/papers/mapreduce.htmlMap 由于Map是并行地对输入的文件集进行操作,所以它的第一步(FileSplits) 就是把文件集分割成一些子集.如果一个单个的文件大到它已影响到查找效率时,它会被分割成一些小的分割体。要指出的是分割这个一步是不知道输入文件的内部逻辑结构的,比如,以行为逻辑分割的文本文件会被以任意的字节界限分割,所以这个具体分割要自己去指定也可以用hadoop已经定义的几个简单分割。然后每个文件分割体都会对应地有一个新的map任务。 当单个map任务开始时,它会对每个配置过的reduce任务开启一个新的输出书写器(writer).紧接着它(writer)阅读全文>

发表于 @ 2007年10月08日 15:27:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © 吴楚狂生