/**
*本人亦初学者,如有不正确的地方请多多指教。谢谢!
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使用&Nutch;入门教程 pdf
利用Nutch和IKanalyzer构造中文分词搜索引擎
作为舆情监测系统的一部分,本文的目标是基于Nutch,同时,结合目前最常用中文分词技术,根据不同的中文分词方法,实验并得出不同分词方法在性能以及使用环境上的优缺点,以此为舆情监测系统选择合适的中文分词方法...
nutch应用,nutch中文分词,nutch中文乱码
Nutch入门使用文档,教大家如何部署Nutch爬虫
Nutch中文分词插件的编写与配置,由于Internet的迅猛发展,使得用户查找信息犹如大海捞针,而搜索引擎则能帮用户很好的解决这个问题。 Nutch是用java语言开发的,基于Lucene的完整的网络搜索引擎,并采用插件机制进行...
nutch学习nutch帮助文档;nutch学习 入门
Nutch开发入门 Nutch安装和使用 Nutch二次开发 很不错
nutcher 是 Apache Nutch 的中文教程,在github上托管。nutch社区目前缺少教程和文档,而且教程对应版本号较为落后。nutcher致力于为nutch提供一个较新的中文教程和文档,供开发者学习。 github地址: ...
学习nutch 源码解读 轻松入门 搭建自己的nutch搜索引擎
nutch入门学习不错的一本书,有代码,有截图,解释清晰详细。更有助与于了解搜索引擎。
nutch入门教程,nutch入门安装流程
Nutch入门教程 高清 带书签
Nutch入门教程,对搜索引擎有兴趣的同学,可以好好学习下,
关于nutch的搜索引擎的中文分词的研究,包括了编写与实现
Nutch1.0:Nutch1.0修改版(整合中文分词)原始码修改,编译打包
Nutch 是开源的,可以建立自己内部网的搜索引擎,也可以针对整个网络建立搜索引擎
用于Nutch的中文分词,效果向单簧管得得好,强烈建议支持这种格式的数据,这是一个里程碑
Nutch入门学习 7.1 概述...41 7.2 MapReduce.......41 7.3 文件系统语法......42 7.4 文件系统设计......42 7.5 系统的可用性......43 7.6 Nutch文件系统工作架构...43 8. nutch应用.45 8.1 修改源码.....45...