`

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 ,回车后查看结果!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics