1、需要的工具:IKAnalyzer jar包(将其命名为analysis-zh.jar) javacc工具 ant
2、部署nutch工程到eclipse中。
3、定义自己的分词类,代码如下
package com.gpower.nutch.plugin;
import java.io.Reader;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.nutch.analysis.NutchAnalyzer;
import org.wltea.analyzer.lucene.IKAnalyzer;
public class MyAnalyzer extends NutchAnalyzer{
private final static Analyzer ANALYZER = new IKAnalyzer();
@SuppressWarnings("unused")
private static final Log LOG = LogFactory.getLog(MyAnalyzer.class);
@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
return ANALYZER.tokenStream(fieldName, reader);
}
}
4、将此文件在eclipse中打包成MyAnalyzer.jar文件
5、为插件编写plugin.xml文件
<?xml version="1.0" encoding="UTF-8"?> <plugin id="MyAnalyzer-zh" name="Analyzer_self" version="1.0.0" provider-name="nutch.org"> <runtime> <library name="MyAnalyzer-zh.jar"><export name="*"/></library> </runtime> <requires> <import plugin="nutch-extensionpoints"/> </requires> <extension id="com.gpower.nutch.plugin.MyAnalyzer" name="Self Nutch Plugin Analyzer" point="org.apache.nutch.analysis.NutchAnalyzer"> <implementation id="MyAnalyzer-zh" class="com.gpower.nutch.plugin.MyAnalyzer"> <parameter name="lang" value="zh"/> </implementation> </extension> </plugin>
6、运行NGramProfile类,生成zh.ngp文件,将生成的文件拷贝到src/plugin/languageidentfier/src/java目录下的org.apache.nutch.anaysis.lang包下面
7、修改NutchAnalysis文件,编译此文件,覆盖(详见本博客中的另一篇关于nutch中文分词的文章)
8、创建目录Myanalyzer,在此目录下放入(plugin.xml,MyAnalyzer.jar,analysis-zh.jar),然后将此目录拷贝到nutch-1.0\plugins\目录下。
9、ant编译工程(详见本博客中的另一篇关于nutch中文分词的文章)
10、爬虫、部署、测试(详见本博客中的另一篇关于nutch中文分词的文章)