nutch中文分詞,改源碼

安裝了nutch,但是默認的中文分詞只能按照單個漢子分,使用起來十分不方便,於是到處查找資料,終於找到了幾種中文分詞插件,如ictcals,je,paoding,CJK等。

由於je分詞java支持較好,且可以自定義字典單詞,所以最後選用je分詞最爲nutch中文分詞工具,主要步驟如下:

(1)下載je分詞包放到nutch的lib文件夾下

(2) 修改src/java/org/apache/nutch/analysis中的 NutchAnalysis.jj ,將<SIGRAM: <CJK> >改爲:<SIGRAM: (<CJK>)+ >,即從解析單箇中文字符到解析中文字符串,最後用javacc生成7個java文件,並把這7個文件放回到src/java/org /apache/nutch/analysis替換原有文件。

(3) 繼續修改這個文件夾中的NutchDocumentAnalyzer.java,在文件頭加入import jeasy.analysis.*並將原來的
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) {
MMAnalyzer analyzer=new MMAnalyzer();
return analyzer.tokenStream(fieldName, reader);
}

(4) 最後在nutch根目錄下用ant重建工程,可能在NutchAnalysis.java會有ParseExceptio,在相應的Ë 01;置throws掉即可。

(5) 將build文件夾下的nutch-1.0.job替換根目錄下的同名文件,再在build/classes下運行 jar cvf nutch-1.0.jar org ,將生成的nutch-1.0.jar替換根目錄下同名文件。

(6)最後將nutch-1.0.jar和je-analyse-1.5.1.jar複製到tomcat的WEB-INF中的lib文件夾下

(7)重新nutch抓取,重啓tomcat,最後在localhost:8080或者通過luke查看,即可看到中文分詞了

:):):):)

發佈了40 篇原創文章 · 獲贊 2 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章