Nutch使用入门(四)——添加中文分词

/** 
 *本人亦初学者,如有不正确的地方请多多指教。谢谢! 
javacc NutchAnalysis.jj  *部分内容参考自互联网,如有冒犯,请见谅。
 **/ 

 基本信息

 本文介绍了如果为Nutch添加中文分词,详细描述了添加中文分词的步骤和应该注意的问题。

 

 准备工作

  1.Nutch,到http://nutch.apache.org/ 下载nutch-1.0.tar.gz,下载后直接解压缩即可。

  2.javacc,到https://javacc.dev.java.net/ 下载javacc-5.0.zip,下载后同样解压缩,将“javacc路径/bin”添加到环境变量path,在windows命令窗口中输入javacc,未提示错误表示javacc安装成功。

  3.ant,到http://ant.apache.org/ 下载ant,下载后解压缩,将"ant路径/bin"添加到环境变量path,在windows命令窗口输入ant,未提示错误表示ant安装成功。

  4.IKAnalyzer,到http://code.google.com/p/ik-analyzer/downloads/list 下载IKAnalyzer,本例使用版本是3.1.1GA。

 

  为Nutch添加中文分词

  1.让Nutch支持中文分词。

    在Nutch目录下,找到src\java\org\apache\nutch\analysis\NutchAnalysis.jj文件,复制到其他的一个目录下,最好该目录下没有java文件,修改NutchAnalysis.jj文件,修改如下:

line 130:
| <SIGRAM: <CJK> >


change to:
| <SIGRAM: (<CJK>)+ > 

将windows命令环境切换到改目录下,执行如下命令:

javacc NutchAnalysis.jj

 生成了7个java文件,其中NutchAnalysis.java 58行抛出异常,捕获异常即可。将这7个java文件替换掉src\java\org\apache\nutch\analysis目录下相同名称的文件。

 

  2.添加IKAnalyzer。

    将下载好的IKAnalyzer3.1.1Stable.jar复制到Nutch目录下的lib文件夹中,修改src\java\org\apache\nutch\analysis目录下NutchDocumentAnalyzer.java文件,添加import语句,修改tokenStream方法。代码如下:

import org.wltea.analyzer.lucene.IKAnalyzer;
 
 public TokenStream tokenStream(String fieldName, Reader reader) {
    Analyzer analyzer;
    analyzer = new IKAnalyzer();
    return analyzer.tokenStream(fieldName, reader);
  }

 

  3.重新编译Nutch。

   修改Nutch目录下build.xml文件,在195行后加入如下代码:

<include name="IKAnalyzer3.1.1Stable.jar"/>

    将命令环境切换到Nutch目录下,执行ant命令。出现如下错误:

Buildfile: build.xml

init:

BUILD FAILED
D:\nutch\nutch-1.0\build.xml:62: Specify at least one source--a file or resource
 collection.

Total time: 0 seconds

    解决办法有两个:

    (1). 从SVN下载缺失的 config/*.template文件。
    (2).修改 build.xml,去掉62-64行,让它不再需要template文件。

 

   将编译生成的build文件夹下的nutch-1.0.job文件替换掉Nutch目录下的nutch-1.0.job文件。

   将编译生成的build\classes下文件打包成nutch-1.0.jar,替换掉Nutch目录下的nutch-1.0.jar文件。打包命令如下:

jar cvf nutch-1.0.jar org

    将nutch-1.0.war包中的nutch-1.0.jar替换为刚刚生成的nutch-1.0.jar,并且加入IKAnalyzer3.1.1Stable.jar.

 

    至此,全部工作都已经完成。接下来爬行和搜索工作可以参考我的其他两篇入门文章:

   Nutch 使用入门(一)——准备工作及Intranet抓取    

    Nutch 使用入门(二)——互联网抓取

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值