`

nutch中文分词(修改源码的方式)

阅读更多

1、需要的jar包

     je-analysis-1.5.3.jar  javacc工具  ant

2、部署nutch工程到eclipse中,这一步网上有很多的参考。

3、nutch工程部署好后直接修改org.apache.nutch.analysis包下面的NutchDocumentAnalyzer.java的  tokenStream方法   即将以下代码

      

/** Returns a new token stream for text from the named field. */
  public TokenStream tokenStream(String fieldName, Reader reader) {
    Analyzer analyzer;
    if ("anchor".equals(fieldName))
      analyzer = ANCHOR_ANALYZER;
    else
      analyzer = CONTENT_ANALYZER;

    return analyzer.tokenStream(fieldName, reader);
  }

 

替换成

          

public TokenStream tokenStream(String fieldName, Reader reader) {
Analyzer analyzer;
analyzer= new MMAnalyzer();//需要导入je-analysis包
return analyzer.tokenStream(fieldName, reader);
} 

 4、在org.apache.nutch.analysis包下类文件NutchAnalysis.jj中

        

  将<SIGRAM: <CJK> >替换为 <SIGRAM: (<CJK>)+ >

    然后将这个文件拷贝到一个空目录下,使用javacc进行编译,编译后生成7个java文件,将这7个java文件覆盖org.apache.nutch.analysis包下的文件。此时会有一个异常,只需要在ParseException.java中将Exception改为IOException

5、修改工程目录下的build.xml文件

      

<lib>
........
.......
..........
<include name="je-analysis-*.jar"/> <!--添加这句-->
</lib>

 7、使用ant编译工程文件

      

      

输入ant (将在工程目录下的build目录下输出nutch.job文件)
输入ant war (将在工程目录下的build目录下输出nutch.war文件)
输入ant jar (将在工程目录下的build目录下输出nutch.jar文件)

     将输出的三个文件拷贝到工程根目录下,覆盖原有的三个文件

8、测试

         运行org.apche.nutch.crawl中的Crawl类进行爬虫,当然也可以通过命令的方式进行爬虫

          在tomcat下部署第七步生成的nutch.war文件,配置好nutch-site.xml文件后.

          

<property>
    <name>searcher.dir</name>
    <value>存放爬虫结果的目录</value>
  </property>

 

在浏览器中输入http://localhost:8080/nutch-1.0 ,回车后查看结果!

分享到:
评论

相关推荐

    lucene+nutch搜索引擎开发源码1

    《lucene+nutch搜索引擎开发源码1》是一个包含开源搜索引擎项目Lucene和Nutch源代码的压缩包,主要针对搜索引擎开发的学习和实践。这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为...

    Lucene nutch 搜索引擎 开发 实例 源码

    本文将深入探讨基于Java的开源搜索引擎框架——Lucene和Nutch,以及如何通过源码学习它们的开发实践。 Lucene是一个全文检索库,它提供了一个简单的API,开发者可以使用这些API来构建自己的搜索功能。Lucene的核心...

    nutch-1.5.1源码

    Nutch-1.5.1源码是Apache Nutch项目的一个重要版本,它是一个高度可扩展的、开源的网络爬虫和全文搜索引擎框架。Nutch最初由Doug Cutting创建,后来成为了Hadoop项目的一部分,因为其在大数据处理和分布式计算方面的...

    apache-nutch的源码

    6. **自定义开发**:Nutch 提供了丰富的插件机制,允许开发者根据需求自定义解析器、索引器、分词器等。通过修改或创建新的插件,你可以实现特定的抓取策略或处理逻辑。 7. **大数据处理**:Nutch是基于Hadoop构建...

    nutch1.6源码

    Nutch 1.6源码的获取方式不仅可以通过下载这个压缩包,还可以直接从Nutch的官方网站获取。 Nutch的源码分析主要涉及以下几个关键知识点: 1. **网络爬虫**:Nutch的核心功能是作为一个网络爬虫,它自动遍历互联网...

    nutch-1.3源码

    5. **分词与索引**:Nutch 集成了 Lucene 搜索引擎库,用于对网页内容进行分词和建立倒排索引。源码中包含了对索引的创建、更新和查询操作。 6. **配置系统**:Nutch 使用 Apache Hadoop 的配置文件系统,这使得 ...

    lucene+nutch搜索引擎光盘源码(1-8章)

    《lucene+nutch搜索引擎光盘源码(1-8章)》是一套全面解析Lucene和Nutch搜索引擎技术的源代码教程,涵盖了从基础到进阶的多个层面。这套资源包含8个章节的源码,由于文件大小限制,被分成了多个部分进行上传。 ...

    nutch2.2.1-src

    1. **Nutch框架**:Nutch的核心框架提供了爬虫的基本架构,包括种子URL的管理、网页抓取、分词、链接分析等。框架设计灵活,支持插件机制,方便开发者根据需求定制。 2. **Fetcher模块**:负责从Web上下载网页。它...

    nutch开发资料 搜索引擎

    Nutch支持多种中文分词工具,如HanLP、jieba和IK Analyzer等,这些工具能够将中文句子分割成有意义的词语,为后续的索引和查询提供基础。 4. **Nutch工作流程**:Nutch的工作流程主要包括URL发现(抓取种子URL并...

    Apache Nutch 1.7 学习总结

    - 初始化Nutch的配置文件,根据需求修改`conf/nutch-site.xml`。 - 运行Nutch的基本命令,如抓取种子URL (`bin/nutch inject`), 分析网页 (`bin/nutch fetch`), 解析内容 (`bin/nutch parse`), 更新数据库 (`bin/...

    nutch帮助文档;nutch学习 入门

    - **文本分析**:Nutch内置了Lucene库,用于分词、去除停用词、词干化等文本预处理。 - **索引和搜索**:抓取并处理后的数据被存储在索引中,用户可以通过查询接口进行搜索。 3. **Nutch架构** Nutch的架构基于...

    nutch爬虫资料

    Nutch分为多个阶段,包括种子URL的生成、网页抓取、分词、链接分析(PageRank计算)、文档分割、索引等。通过这些步骤,Nutch能够有效地发现和存储互联网上的信息。 在源码分析方面,Nutch的源代码结构清晰,适合...

    Lucene+Nutch搜索引擎开发.王学松源代码

    王学松老师的源代码提供了丰富的示例,涵盖了Lucene和Nutch的各个方面,包括如何配置和运行Nutch爬虫,如何自定义分词器,以及如何利用Lucene进行高效检索。通过学习这些源代码,开发者可以: 1. 学习Nutch的配置与...

    分享一个Nutch入门学习的资料

    通过阅读源码,学习者可以了解Nutch如何实现URL的发现、页面下载、解析、分词、索引等关键功能。此外,源码分析还能帮助学习者定制Nutch以满足特定的抓取需求。 “工具”标签则暗示这份资料可能包含了一些辅助工具...

    nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据

    5. **分词与索引**:Nutch 使用Apache Lucene进行文本分词和索引。分词是将连续的文本分解成独立的词语,索引则是将这些词语与对应的URL关联,以便快速查询。 6. **存储与检索**:Nutch 支持多种存储和检索机制,如...

    lucene+nutch搜索引擎(12章源码)

    《Lucene+Nutch搜索引擎深度解析》 在信息技术日益发达的今天,搜索引擎已经成为人们获取网络信息的重要工具。Lucene和Nutch作为开源的全文检索库和搜索引擎框架,为开发者提供了构建高效、可扩展的搜索解决方案。...

    lucene+nutch搜索引擎(1-11章源码)

    本篇文章将围绕"lucene+nutch搜索引擎(1-11章源码)"进行详细解析,帮助你深入了解这两个强大的工具。 首先,让我们来看看Lucene。Lucene是Apache软件基金会的一个项目,是一个高性能、全文本搜索库,提供了文本...

    nutch初体验

    2. **配置Nutch**:修改Nutch的配置文件以适应你的需求,如抓取策略、存储路径等。 3. **运行Nutch**:执行爬虫任务,观察日志,了解其运行状态。 4. **索引和搜索**:将抓取的数据建立索引,然后使用Nutch的搜索...

    apache-nutch-2.3-src.zip

    5. **分词和索引**:Nutch 内置了Lucene库,用于对抓取的网页内容进行分词和创建倒排索引,便于后续的搜索操作。 6. **国际化支持**:Nutch 支持多种语言的网页抓取和处理,包括中文,通过插件机制可以添加新的语言...

    apache-nutch-1.3-src.tar.gz_nutch_nutch-1.3.tar.gz

    这个源码包 "apache-nutch-1.3-src.tar.gz" 和 "nutch-1.3.tar.gz" 包含了 Nutch 1.3 的源代码和编译后的二进制文件,对于开发者和研究者来说是非常有价值的资源。 **Nutch 概述** Nutch 是基于 Java 开发的,遵循 ...

Global site tag (gtag.js) - Google Analytics