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中文分词的文章)
分享到:
相关推荐
Nutch中文分词插件的编写与配置,由于Internet的迅猛发展,使得用户查找信息犹如大海捞针,而搜索引擎则能帮用户很好的解决这个问题。 Nutch是用java语言开发的,基于Lucene的完整的网络搜索引擎,并采用插件机制进行...
基于Nutch的中文分词插件实现,张文龙,刘一伟,中文分词是中文垂直搜索引擎中的一个关键技术,分词的好坏直接影响提取文本的精确度。Nutch是一个开源的Web搜索引擎,它为英文用户�
本部分将简要介绍Nutch插件的实际应用案例,包括中文分词插件、索引字段增强插件等。通过具体实例,读者可以更好地理解Nutch插件是如何在实际场景中发挥作用的,以及如何根据自身需求开发和集成插件。 #### 五、在...
6. **Analyzer插件**:针对特定语言的文本分析器,如英文或中文分词器,提供文本预处理功能。 Nutch插件系统的优点包括: - **可扩展性**:通过简单的接口实现,开发者可以轻松地增加新功能,而无需修改Nutch的...
word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene...
Nutch支持多种中文分词工具,如HanLP、jieba和IK Analyzer等,这些工具能够将中文句子分割成有意义的词语,为后续的索引和查询提供基础。 4. **Nutch工作流程**:Nutch的工作流程主要包括URL发现(抓取种子URL并...
5. **分词与索引**:使用Analyzer进行中文或英文等语言的分词,然后将分词结果建立倒排索引。 6. **存储**:Nutch使用HDFS(Hadoop分布式文件系统)存储抓取的数据和索引。 7. **检索**:通过Solr或Elasticsearch等...
6. **配置与插件(Configuration & Plugins)**:Nutch允许开发者通过配置文件定制爬虫的行为,并提供了一套插件系统,方便扩展其功能。例如,你可以编写自定义的URL过滤器、解析器或索引增强插件。 在研究Nutch-...
Nutch 的核心设计之一是其插件系统,允许用户通过编写插件来扩展其功能,例如添加新的解析器、链接过滤器或索引策略。 9. **应用范围**: Nutch 0.9 适用于需要大规模网页抓取和数据分析的场景,如市场研究、竞争...
通过这种方式,Nutch可以灵活地根据环境和需求调整行为,比如设置爬虫的抓取频率、存储路径、索引策略、解析规则等。了解并正确配置这些文件对于优化Nutch的性能和实现特定功能至关重要。 在实际使用中,开发者和...
9. **多语言支持**:Nutch 不仅支持英语,还可以通过插件支持其他语言的抓取和索引,如中文、日文等。 10. **搜索接口**:Nutch 提供了一个简单的搜索接口,用户可以通过该接口查询索引库中的内容,实现基本的搜索...
7. **多语言支持**:虽然Nutch最初设计时主要针对英文网页,但通过适当的配置和插件,它也可以处理其他语言的网页,包括中文。 8. **可与其他系统集成**:Nutch 可以与Solr或Elasticsearch等搜索平台集成,提供更...
- **插件开发**:Nutch的灵活性体现在其插件体系上,用户可以根据需求编写自定义插件,如自定义解析器、索引器或搜索器。插件目录下的`src/plugin`是存放插件源代码的地方,编译后插件会被自动加载。 - **修改配置...
1. **Nutch框架**:Nutch的核心框架提供了爬虫的基本架构,包括种子URL的管理、网页抓取、分词、链接分析等。框架设计灵活,支持插件机制,方便开发者根据需求定制。 2. **Fetcher模块**:负责从Web上下载网页。它...
- **插件系统**:Nutch支持丰富的插件体系,如URL过滤器、解析器、索引器等,开发者可以根据需求编写自定义插件。 5. **使用场景** - **企业内部搜索**:Nutch可以用于构建企业内部的文档搜索引擎。 - **数据...
Nutch提供了丰富的插件机制,允许开发者根据需求定制爬虫功能。例如,你可以编写新的解析器来处理不同格式的内容,或者自定义索引策略。项目的“使用说明.txt”文件应该包含了关于如何配置和扩展Nutch的详细指南。 ...
6. **配置与插件**:Nutch的一大特点是其高度可配置性和插件化设计。用户可以通过修改配置文件来调整爬虫的行为,如设置抓取间隔、抓取策略等。同时,Nutch有许多可插拔组件,如解析器、索引器、搜索引擎等,可以...
通过阅读源码,学习者可以了解Nutch如何实现URL的发现、页面下载、解析、分词、索引等关键功能。此外,源码分析还能帮助学习者定制Nutch以满足特定的抓取需求。 “工具”标签则暗示这份资料可能包含了一些辅助工具...