`
文章列表
  Compass项目是基于Lucene的一个开源项目,其主旨在于简化将搜索集成到Java应用的过程。最近,该项目发布了2.0版本。InfoQ就此采访了Compass的创始人Shay Banon以获得关于该版本更多更详尽的信息,并且对Compass为Java社区所做的贡献进行了一番深入的了解。 Banon罗列了该版本最主要的几个特性在于: 简化O/R映射(ORM)的集成——所有集成特性,比如实时将ORM的变化在搜索索引上生成镜像和完成基于映射(mapping-based)的数据库索等特性,现在可以通过Hibernate/JPA的配置文件中的配置属性得以实现。 分布式数据网格的 ...
高亮显示比较简单,网上也有很多介绍代码。修改如下: 将 org.apache.nutch.searcher.Summary 第 54行 代码 修改为:  public String toString() { return "<span style='color:red'>" + super.toString() + "</span>"; } 增加索引长度花了我比较长的时间 , 不过后来发现原来有两个参数是专门调整索引长度的 ,刚看代码的时候没有注意到 ,在org.apache.nutch.searcher.Summarize ...
plugin(插件)为nutch提供了一些功能强大的部件,举个例子,HtmlParser就是使用比较普遍的用来分析nutch抓取的html文件的插件。       为什么nutch要使用这样的plugin系统?       有三个原因: 1:可扩展性      通过plugin,nutch允许任何人扩展它的功能,而我们要做的只是对给定的接口做简单的实现,举个例子:MSWordParser这个插件是用来分析wordwendang的,它就是一个对parser这个接口的实现 2:灵活性     因为每个人都可以根据自己的需求而写自己的plugin,这样plugin就会有一个很强大的资源库。 ...
http://blog.csdn.net/lianqiang198505/archive/2006/10/17/1338155.aspx 在nutch的爬虫运行过程中有这样的一个调用(在CrawlTool中): // update segments from db         UpdateSegmentsFromDb updater =             new UpdateSegmentsFromDb(nfs, db, segments, dir);         updater.run(); 正如注释所说,这段代码的作用就是从webdb中的当前信息来对segments ...
当某个插件需要被加载时, Nutch 会加载所有插件的相关接口到缓存,此后每个插件需要实例的时候,根据相关接口和相关接口实现实例在缓存内的记录,使用反射实现一个实例并返回,下面以 QueryFilter 的所有插件被加载例子进行说明。   具体代码参看org.apache.nutch.seacher.QueryFilters<init>( 1 )当第一次需要得到 QueryFilter 的一个子类的实例时,使用下面这句话试图获得所有的实例:   this.queryFilters = (QueryFilter[]) conf.getObject(QueryFilter ...
Nutch是Apache组织的一个开源项目,利用它用户可以 建立自己内部网的搜索引擎,也可以建立针对整个网络的搜索引擎。一、Linux下的安装使用  (我使用的操作系统是red hat as4)  1.安装JDK,我安装的是JDK1.5 update11,安装方法到网上搜  2.安装TOMCAT,我安装的是tomcat5.5.23,安装方法到网上搜,输入http://127.0.0.1:8080出现变态猫就ok了,可以进入下一步。  3.到http://www.nutch.org下载Nutch 0.9,2007年4月2日发布的,嘿嘿。    解压与安装    下来的文件是nutch-0.9.ta ...
从大家熟悉的冒泡排序开始:    /**     * 冒泡排序 Bubble Sort      * <p>原理:     * 比较n轮,每一轮都把最大元素移动到数组后端。     * @return     */    public int[] bubbleSort(int[] result) {        for (int i = 0; i < ARRAYSIZE; i ++) {            for (int j = i + 1; j < ARRAYSIZE; j ++) {                if (result[i] > resu ...
文档选项 <script type="text/javascript"></script> 打印本页 <noscript></noscript>
现在实现基本中文分词功能的代码和软件模块很多,性能也还可以,但是怎样将其应用到NUTCH中的方法介绍相对较少,下面我就实现NUTCH中文分词的NUTCH代码修改方法与步骤,抛砖引玉的介绍一下。   代码修改的切入点是通过对NUTCH处理中文的切分器Tokenizer的修改或者替换(这里介绍的是替换),使中文分词由单字切分变为词语切分。对于相关的NUTCH基本知识,我就不赘述了。因为NUTCH的检索功能基于Lucene
在接触到一个新的事物的时候,根据人的认知过程,我们势必要知道这个新事物的是什么,即What;然后,便是为什么要认知这个新的事物,如果没有任何理由的话说明完全没有必要去了解它,因为它可能对我们没有一点用处,这就是所谓的Why;接着就是How,该如何认知一个新的事物,使用什么样的方式和手段,只有在通过逐步的迭代执行What这个步骤和实施How,我们才能逐步了解、认识、理解这个新事物,使其为我所使用。 这里,我们主要对What和Why进行阐述。 Nutch简介 Nutch是一个使用Java编写的开源的搜索引擎框架,这就是关于Nutch的What的初步认识。既然是搜索引擎框架,自然而然是实现了类似 ...
org.apache.nutch.util.NutchConfiguration类是Nutch爬虫的配置类,其中包括爬虫的初始化配置和运行时配置。说到NutchConfiguration类,我认为有必要提到Hadoop的Configuration类,即org.apache.hadoop.conf.Configuration。在Nutch早期开发版本中,Hadoop是Nutch项目的一部分,其中Hadoop主要包含两个部分:一个是HDFS(Hadoop分布式文件系统),当然Hadoop中也支持单机文件系统,另一个是Hadoop实现了Google的MapReduce算法,这是一个非常经典的算法。Nu ...
在没有学习研究Nutch的源代码之前,我认为还是有必要对Nutch的工作流程有一个感性的认识和了解。通过对Nutch工作流程的学习认识,先有一个整体的印象,然后可以很好地指导我们去阅读学习它的源代码,从而更加深入理解Nutch ...
Nutch的大致工作流程可以通过上一篇文章有了一定的了解了。在上一篇文章中,主要是针对一幅Nutch工作流程图片来了解Nutch的工作流程,十分感性,并没有涉及到任何关于Nutch的包和类。这里通过在网上下载的一个《Nutch入门学习》的PDF文档中介绍的内容,来详细组织一下,加深了解,为深入研究Nutch的源代码奠定良好的基础。 这里通过几个标题来叙述。 Nutch爬虫工作策略 Nutch爬虫的工作策略一般则可以分为累积式抓取(cumulative crawling)和增量式抓取(incremental crawling)两种。 累积式抓取是指从某一个时间点开始,通过遍历的方式抓取系统 ...
Nutch-0.9中,org.apache.nutch.crawl.Crawl类中提供了一个入口主函数main,通过接收键入的命令行,根据命令行指定的参数对Nutch进行配置,从而启动Nutch抓取程序,通过阅读org.apache.nutch.crawl.Crawl类的源代码来了解Nutch是如何根据接收的命令行进行配置及其启动的。 org.apache.nutch.crawl.Crawl类的主函数如下所示:    // 应该知道,Nutch查找文件系统是基于Linux系统的机制的,所以提供启动的命令与Linux的Shell命令很相似。    public static vo ...
Nutch源码学习系列之一:Analysis包(原创) - - Tag: Nutch    Lucene    Analysis                                           Nutch源码学习系列之一:Analysis包(原创) TjuAILab    张步峰 Nutch0.7出来,对于我们这些Lucene爱好者来说,是件兴奋的事情!当时用Nutch0.6做实验已经让我非常兴奋。 Nutch0.7比之0.6又增添了一部分功能,我们开发一些小型搜索引擎可以修改Nutch的一些接口,使之更加用户化。 此节主要讲述Nutch下的Analysis包即p ...
Global site tag (gtag.js) - Google Analytics