如何修改nutch的分词器(添加paoding分词器)

添加庖丁分词器分为两个步骤,首先要在window下修改好引入分词器的源码,将庖丁分词器作为默认的分词器引入,然后将修改后的程序部署到linux下(这一部分有要修改两部分代码:爬取部分要对nutch源码进行重新编译,其次要对部署到tomcat下的查询部分代码进行重新部署)

(1)window下修改nutch源码:插件包nutch核心代码中的org.apache.nutch.analysis包下的NutchDocumentAnalyzer类进行修改,重新声明实例化一个类型为PaodingAnalysis的CONTENT_ANALYZER2对象,对tokenStream函数进行修改,当需要对内容类型非"anchor"的内容进行解析时则调用CONTENT_ANALYZER2分词器,代码如下:

  /** 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;
	    	 return analyzer.tokenStream(fieldName, reader);
	    }else{
	    	analyzer = CONTENT_ANALYZER2;
	    	TokenStream token=analyzer.tokenStream(fieldName, reader);
	    	token.addAttribute(PositionIncrementAttribute.class);
	    	
	    	return token;
	    }
	      

	    
  }

然后根据我另一篇blog中介绍的方法对NutchAnalysis.jj文件进行编译,将编译得到的java类替换org.apache.nutch.analysis包下同名类。

(2)部署到linux下,需要重新编译nutch源码,这里重点对如何配置查询部分进行介绍

首先要对nutch源码进行编译打包成jar文件,到nutch主目录下执行命令ant jar会在build的文件夹下生成一个nutch.jar的编译文件,用这个文件替换掉部署到tomcat下的nutch-1.2的WEB-INF/lib中的同名文件。

然后在对将paoding.jar复制到lib下,将dict复制到classes下,将paoding-*的六个关于庖丁的配置文件复制到classes下,修改paoding-dic-home.properties配置文件中的paoding.dic.home修改为dict的绝对路径值

paoding.dic.home=/usr/local/tomcat/webapps/nutch-1.2/WEB-INF/classes/dict/

重新启动tomcat就完成了nutch查询部分的分词器添加工作。
paoding.dic.home=/usr/local/tomcat/webapps/nutch-1.2/WEB-INF/classes/dict/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值