`
zha_zi
  • 浏览: 593988 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

nutch-1.0中文分词

阅读更多

如何跟换nutch1.0中文分词,我在网上基本把所有的办法都是试了一遍但是没有一个是可行的,真是怀疑这些人是纯转载别人的文章还是自己确实有试过,

这里把步骤详细给大家说一下下边是别人的文章,但是其中跟真实的情况有出入,我这里有所修改

前提nutch-1.0配置正常能正常的爬取

 

找到 src/java/org/apache/nutch/analysis/NutchAnalysis.jj 文件

line 130:

| <SIGRAM: <CJK> >


change to:

| <SIGRAM: (<CJK>)+ >


run “javacc”

cd nutch-1.0/src/java/org/apache/nutch/analysis
/usr/local/javacc-3.2/bin/javacc NutchAnalysis.jj


3 files will be regenerated:

这里会生成7个文件,这里列举3个

NutchAnalysis.java
NutchAnalysisTokenManager.java
NutchAnalysisConstants.java

把生成的7个文件全部替换/src/java/org/apache/nutch/analysis下的七个文件

其中会抛出一个异常,捕获一下就ok了

 

 

中文分析部分(查询和索引):

将analyzer更换为ik中文分析器

a 把 IKAnalyzer3.1.5GA.jar 放到lib文件夹

b  org.apache.nutch.analysis.NutchDocumentAnalyzer

 

修改TokenStream tokenStream(String fieldName, Reader reader)

 

修改后的代码 Analyzer analyzer;

    analyzer=new IKAnalyzer();

 

    return analyzer.tokenStream(fieldName, reader);

 

 

 

重新编译Nutch:

在build.xml添加一条指令(在第195行的下面加入一行),使的编译war文件的时候加入ik分词器的jar文件。

build.xml

<lib dir="${lib.dir}">
<include name="lucene*.jar"/>
<include name="taglibs-*.jar"/>
<include name="hadoop-*.jar"/>
<include name="dom4j-*.jar"/>
<include name="xerces-*.jar"/>
<include name="tika-*.jar"/>
<include name="apache-solr-*.jar"/>
<include name="commons-httpclient-*.jar"/>
<include name="commons-codec-*.jar"/>
<include name="commons-collections-*.jar"/>
<include name="commons-beanutils-*.jar"/>
<include name="commons-cli-*.jar"/>
<include name="commons-lang-*.jar"/>
<include name="commons-logging-*.jar"/>
<include name="log4j-*.jar"/>
<include name="IKAnalyzer3.1.5GA.jar"/> <!-- add this line -->
</lib>

用ant重新编译build.xml文件

使用新生成的含中文分词功能的模块:

只用到刚才编译生成build文件夹下面一个文件, 

build/nutch-1.0.job
把这个.job文件拿出来替换原来的nutch-1.0包里的.job文件
然后用把build下的classes文件夹打成nutch-1.0.jar文件 指令:jar cvf nutch-0.9.jar org 

最后把nutch-1.0.war重新生成的文件夹下lib中的nutch-1.0.jar跟换成你新生成的nutch-1.0.jar文件,还要放入ik分词器的jar文件
最后爬取,搜索的结果就是按ik分过的中文词

 

 

  • 描述: 123
  • 大小: 8.2 KB
  • 大小: 427.4 KB
分享到:
评论
8 楼 arsenepark 2010-10-27  
zha_zi 写道
arsenepark 写道
zha_zi 写道
arsenepark 写道
我用的Nutch-1.2,发现crawl的时候出错。楼主试过用Nutch-1.2配置么?

没有,我配置过nutch1.0+ik3.2和nutch0.9
但是nutch0.9导入web工程用web启动的时候会有问题
最后没有办法用的1.0,配置都不难,导入web工程非常麻烦,太长时间不做nutch现在都忘的差不多了,不知道1.0的bug在1.2中改掉了没有


建立索引的配置好了,分词效果也出来了。但通过NutchBean来检索的时候,还是通过单字分词的,比如“中国”被分成了“中”“国”。
我只改动了public TokenStream tokenStream(String fieldName, Reader reader)这个方法。
lz遇到过这样的问题么?

好像有,反正我当时就是按照我上边说的修改方法就可达到分词的效果,过程都差不多,都是反复出错,具体是怎么回事现在也记得不是太清楚了,我印象比较深的一个就是ant从新打包时会有一个异常让你catch,有个地方的代码好像要稍微修改一下就可以,估计1.2应该和1.0差不多



恩,是有一个Exception和IOException的问题,那个好解决,catch一下就好了。
我现在比较棘手的是搜索时的分词问题。lz没遇到过这个问题么?一步一步做,小心点别出错就好了?
7 楼 zha_zi 2010-10-27  
arsenepark 写道
zha_zi 写道
arsenepark 写道
我用的Nutch-1.2,发现crawl的时候出错。楼主试过用Nutch-1.2配置么?

没有,我配置过nutch1.0+ik3.2和nutch0.9
但是nutch0.9导入web工程用web启动的时候会有问题
最后没有办法用的1.0,配置都不难,导入web工程非常麻烦,太长时间不做nutch现在都忘的差不多了,不知道1.0的bug在1.2中改掉了没有


建立索引的配置好了,分词效果也出来了。但通过NutchBean来检索的时候,还是通过单字分词的,比如“中国”被分成了“中”“国”。
我只改动了public TokenStream tokenStream(String fieldName, Reader reader)这个方法。
lz遇到过这样的问题么?

好像有,反正我当时就是按照我上边说的修改方法就可达到分词的效果,过程都差不多,都是反复出错,具体是怎么回事现在也记得不是太清楚了,我印象比较深的一个就是ant从新打包时会有一个异常让你catch,有个地方的代码好像要稍微修改一下就可以,估计1.2应该和1.0差不多
6 楼 arsenepark 2010-10-26  
zha_zi 写道
arsenepark 写道
我用的Nutch-1.2,发现crawl的时候出错。楼主试过用Nutch-1.2配置么?

没有,我配置过nutch1.0+ik3.2和nutch0.9
但是nutch0.9导入web工程用web启动的时候会有问题
最后没有办法用的1.0,配置都不难,导入web工程非常麻烦,太长时间不做nutch现在都忘的差不多了,不知道1.0的bug在1.2中改掉了没有


建立索引的配置好了,分词效果也出来了。但通过NutchBean来检索的时候,还是通过单字分词的,比如“中国”被分成了“中”“国”。
我只改动了public TokenStream tokenStream(String fieldName, Reader reader)这个方法。
lz遇到过这样的问题么?
5 楼 zha_zi 2010-10-25  
arsenepark 写道
我用的Nutch-1.2,发现crawl的时候出错。楼主试过用Nutch-1.2配置么?

没有,我配置过nutch1.0+ik3.2和nutch0.9
但是nutch0.9导入web工程用web启动的时候会有问题
最后没有办法用的1.0,配置都不难,导入web工程非常麻烦,太长时间不做nutch现在都忘的差不多了,不知道1.0的bug在1.2中改掉了没有
4 楼 arsenepark 2010-10-20  
我用的Nutch-1.2,发现crawl的时候出错。楼主试过用Nutch-1.2配置么?
3 楼 zhizi120 2010-08-30  
按照这个弄完之后,用luke查看索引,发现还是nutch原来的单字的分词。。
2 楼 zha_zi 2010-08-27  
zhizi120 写道
这个是不是转的?我按照你的那么做了,但是没有效果
build文件夹下根本没有/nutch-1.0.job这个文件~~


哥们绝对没有问题,只要你的nutch版本正确,这是我们项目中用过滴
1 楼 zhizi120 2010-08-03  
这个是不是转的?我按照你的那么做了,但是没有效果
build文件夹下根本没有/nutch-1.0.job这个文件~~

相关推荐

    Eclipse中编译Nutch-1.0

    ### Eclipse中编译Nutch-1.0:深入解析与实践指南 #### 一、环境准备与基础构建 在Linux环境中使用Eclipse编译Nutch-1.0,首要任务是确保开发环境满足项目需求。这包括确认Eclipse的JDK、JRE版本至少为1.6或更高...

    nutch-1.0part1

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    Nutch-1.0分布式安装手册.rar

    Nutch-1.0分布式安装手册是一份详细指导如何在多台计算机上部署和配置Apache Nutch的文档。Apache Nutch是一款开源的网络爬虫软件,用于抓取互联网上的网页并进行索引,是大数据领域中搜索引擎构建的重要工具。这份...

    nutch-1.0-dev.jar

    nutch-1.0-dev.jar nutch devlope

    开源搜索引擎nutch-1.0.part01.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    ant-eclipse-1.0.bin.tar.bz2

    ant-eclipse-1.0 nutch

    apache-nutch-1.6-bin.tar.gz最新版

    $ tar zxvf nutch-1.0.tar.gz 在e盘下面出现nutch-0.9文件夹说明解压成功了.然后环境变量设置为NUTCH_JAVA_HOME=C:\Program Files\Java\jdk1.5.0(也就是说跟JAVA_HOME是相同的).测试nutch是否安装成功,只需要执行...

    开源搜索引擎nutch-1.0.part09.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    开源搜索引擎nutch-1.0.part08.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    开源搜索引擎nutch-1.0.part07.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0

    Nutch-1.0 part2

    Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

    开源搜索引擎nutch-1.0.part03.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    开源搜索引擎nutch-1.0.part06.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    开源搜索引擎nutch-1.0.part02.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    开源搜索引擎nutch-1.0.part04.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    开源搜索引擎nutch-1.0.part05.rar

    Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。

    apache-nutch-2.3.1-src.tar.gz

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效检索。Nutch 是由 Apache Software Foundation 维护,它提供了完整的网络爬虫解决方案,包括数据采集、预处理、...

    Eclipse中编译Nutch-0.9

    - 在`nutch-default.xml`中,更新`http.agent.name`属性值为`nutch-1.0`,并指定插件目录的相对或绝对路径。 - 在`nutch-site.xml`中,同样更新`http.agent.name`,并提供详细的描述信息。 - **设置爬虫入口**:在...

    apache-nutch-1.4-bin.tar.gz

    Nutch 支持多种语言的分析,包括中文。 5. **索引器(Indexer)**:将解析和分析后的数据存储到索引库中,以便于快速查询。Nutch 可以与多种存储和索引系统集成,如Apache Solr 和Hadoop HDFS。 6. **搜索接口...

    nutch配置nutch-default.xml

    nutch配置nutch-default.xml

Global site tag (gtag.js) - Google Analytics