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 ,回车后查看结果!
分享到:
相关推荐
《lucene+nutch搜索引擎开发源码1》是一个包含开源搜索引擎项目Lucene和Nutch源代码的压缩包,主要针对搜索引擎开发的学习和实践。这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为...
本文将深入探讨基于Java的开源搜索引擎框架——Lucene和Nutch,以及如何通过源码学习它们的开发实践。 Lucene是一个全文检索库,它提供了一个简单的API,开发者可以使用这些API来构建自己的搜索功能。Lucene的核心...
Nutch-1.5.1源码是Apache Nutch项目的一个重要版本,它是一个高度可扩展的、开源的网络爬虫和全文搜索引擎框架。Nutch最初由Doug Cutting创建,后来成为了Hadoop项目的一部分,因为其在大数据处理和分布式计算方面的...
6. **自定义开发**:Nutch 提供了丰富的插件机制,允许开发者根据需求自定义解析器、索引器、分词器等。通过修改或创建新的插件,你可以实现特定的抓取策略或处理逻辑。 7. **大数据处理**:Nutch是基于Hadoop构建...
Nutch 1.6源码的获取方式不仅可以通过下载这个压缩包,还可以直接从Nutch的官方网站获取。 Nutch的源码分析主要涉及以下几个关键知识点: 1. **网络爬虫**:Nutch的核心功能是作为一个网络爬虫,它自动遍历互联网...
5. **分词与索引**:Nutch 集成了 Lucene 搜索引擎库,用于对网页内容进行分词和建立倒排索引。源码中包含了对索引的创建、更新和查询操作。 6. **配置系统**:Nutch 使用 Apache Hadoop 的配置文件系统,这使得 ...
《lucene+nutch搜索引擎光盘源码(1-8章)》是一套全面解析Lucene和Nutch搜索引擎技术的源代码教程,涵盖了从基础到进阶的多个层面。这套资源包含8个章节的源码,由于文件大小限制,被分成了多个部分进行上传。 ...
1. **Nutch框架**:Nutch的核心框架提供了爬虫的基本架构,包括种子URL的管理、网页抓取、分词、链接分析等。框架设计灵活,支持插件机制,方便开发者根据需求定制。 2. **Fetcher模块**:负责从Web上下载网页。它...
Nutch支持多种中文分词工具,如HanLP、jieba和IK Analyzer等,这些工具能够将中文句子分割成有意义的词语,为后续的索引和查询提供基础。 4. **Nutch工作流程**:Nutch的工作流程主要包括URL发现(抓取种子URL并...
- 初始化Nutch的配置文件,根据需求修改`conf/nutch-site.xml`。 - 运行Nutch的基本命令,如抓取种子URL (`bin/nutch inject`), 分析网页 (`bin/nutch fetch`), 解析内容 (`bin/nutch parse`), 更新数据库 (`bin/...
- **文本分析**:Nutch内置了Lucene库,用于分词、去除停用词、词干化等文本预处理。 - **索引和搜索**:抓取并处理后的数据被存储在索引中,用户可以通过查询接口进行搜索。 3. **Nutch架构** Nutch的架构基于...
Nutch分为多个阶段,包括种子URL的生成、网页抓取、分词、链接分析(PageRank计算)、文档分割、索引等。通过这些步骤,Nutch能够有效地发现和存储互联网上的信息。 在源码分析方面,Nutch的源代码结构清晰,适合...
王学松老师的源代码提供了丰富的示例,涵盖了Lucene和Nutch的各个方面,包括如何配置和运行Nutch爬虫,如何自定义分词器,以及如何利用Lucene进行高效检索。通过学习这些源代码,开发者可以: 1. 学习Nutch的配置与...
通过阅读源码,学习者可以了解Nutch如何实现URL的发现、页面下载、解析、分词、索引等关键功能。此外,源码分析还能帮助学习者定制Nutch以满足特定的抓取需求。 “工具”标签则暗示这份资料可能包含了一些辅助工具...
5. **分词与索引**:Nutch 使用Apache Lucene进行文本分词和索引。分词是将连续的文本分解成独立的词语,索引则是将这些词语与对应的URL关联,以便快速查询。 6. **存储与检索**:Nutch 支持多种存储和检索机制,如...
《Lucene+Nutch搜索引擎深度解析》 在信息技术日益发达的今天,搜索引擎已经成为人们获取网络信息的重要工具。Lucene和Nutch作为开源的全文检索库和搜索引擎框架,为开发者提供了构建高效、可扩展的搜索解决方案。...
本篇文章将围绕"lucene+nutch搜索引擎(1-11章源码)"进行详细解析,帮助你深入了解这两个强大的工具。 首先,让我们来看看Lucene。Lucene是Apache软件基金会的一个项目,是一个高性能、全文本搜索库,提供了文本...
2. **配置Nutch**:修改Nutch的配置文件以适应你的需求,如抓取策略、存储路径等。 3. **运行Nutch**:执行爬虫任务,观察日志,了解其运行状态。 4. **索引和搜索**:将抓取的数据建立索引,然后使用Nutch的搜索...
5. **分词和索引**:Nutch 内置了Lucene库,用于对抓取的网页内容进行分词和创建倒排索引,便于后续的搜索操作。 6. **国际化支持**:Nutch 支持多种语言的网页抓取和处理,包括中文,通过插件机制可以添加新的语言...
这个源码包 "apache-nutch-1.3-src.tar.gz" 和 "nutch-1.3.tar.gz" 包含了 Nutch 1.3 的源代码和编译后的二进制文件,对于开发者和研究者来说是非常有价值的资源。 **Nutch 概述** Nutch 是基于 Java 开发的,遵循 ...