- 准备工作
- 安装nutch
- 安装solr
- 加入中文分词
- 运行
1.准备工作
首先安装好jdk和tomcat,我安装的是sun-java6-jdk,注意tomcat的用户最好改成正在使用的用户(有时候在当前用户修改环境变量时,tomcat如果是root用户,可能不会载入该环境变量)
2.安装nutch
我下载的是src版本,下载后解压,进入NUTCH目录,并用ant命令编译.
建立urls入口地址:mkdir urls; echo "http://***"> seed.txt
加入过滤网址:vim conf/crawl-urlfilter.txt,写入过滤规则,注意每一行开头不能有空格,否则在测试时会报异常或者错误 (该目录下的regex-urlfilter.txt也有类似的作用,但是如何设置在有需要时再研究)
测试 "Usage: bin/nutch Crawl <urlDir> [-dir d] [-threads n] [-depth i] [-topN N] [-solr solrURL]"
Crawl命令相当于是inject, generate,fecth,parse,update,invertlinks等命令的组合使用,具体见源码.使用细节见scholr_search/books/nutch.pdf
3.安装solr
下载solr.1.4.1,解压
进入solr目录(我解压在/test-solr位置)
测试example是否能正常运行: cd example ; java -jar start.jar
将$NUTCH_DIR/conf/schema.xml拷到/test-solr/example/solr/conf/schema.xml,并且将content对应的的stored标记改为true.
测试的example默认是利用jetty容器,在实际使用时,我改为利用tomcat容器,只需要建立一个映射,给出webapps和solr的主目录:
cd $TOMCAT_HOME/conf/Catalina/localhost/
vim test-solr.xml
"""
test-solr.xml的内容为:
<Context docBase="/test-solr/example/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/test-solr/example/solr" override="true" />
</Context>
"""
$TOMCAT_HOME/bin/startup.sh
"""
然后打开浏览器,输入http://localhost:8080/test-solr/admin
"""
4.加入中文分词
我在建立solr工程时遇到了麻烦,折腾了三天未果,只好利用别人已经写好的paoding-analysis.jar和chinese-tokenizer.jar. 步骤为:
unzip solr.war
修改
test-solr.xml的内容为:
<Context
docBase="/test-solr/example/webapps/solr" debug="0"
crossContext="true" >
<Environment name="solr/home" type="java.lang.String"
value="/test-solr/example/solr" override="true" />
</Context>
"""
解压的缘故是两个jar包需要加入到WEB-INF/lib目录下,这个目录解压后才会看到
"""
cp $DIR/paoding-analysis.jar /test-solr/example/webapps/solr/WEB-INF/lib/
cp $DIR/chinese-tokenizer.jar
/test-solr/example/webapps/solr/WEB-INF/lib/
vim /test-solr/example/solr/conf/schema.xml
"""
将type=text 处改为
<!-- <tokenizer class="solr.WhitespaceTokenizerFactory"/>-->
<tokenizer class="com.scholat.ChineseTokenizerFactory" mode="most-words"/>
有的文章加入对query的修改,是因为将index和query的analyzer分开了,这里省略了analyzer标签,应该默认将两者都修改了。
"""
在/nutch-1.2目录下运行:
bin/nutch crawl urls -dir towns -depth 10 -threads 10 -topN 10 -solr http://localhost:8080/test-solr
(或者分开运行:
bin/nutch crawl urls -dir towns -depth 10 -threads 10 -topN 10
bin/nutch solrindex http://localhost:8080/test-solr towns/crawldb/ towns/linkdb/ towns/segments/*)
整个过程完成,可以通过http://localhost:8080/test-solr/admin 访问.
分享到:
相关推荐
本文将详细介绍在Windows和Linux环境下如何搭建Nutch 1.7,并探讨如何将其与Solr集成使用。 **Nutch 在 Windows 下的搭建过程** 1. **准备工作** - 检查系统需求:确保你的Windows系统满足运行Java开发环境(JDK...
2. **分词与分析**:Nutch 使用开源的LUCENE库进行分词和分析,支持中文等多语言处理。 3. **索引优化**:Nutch 提供了多种索引策略,如增量索引、定期全量索引等,以适应不同场景需求。 4. **倒排索引**:Nutch ...
这个“Nutch入门教程 高清 带书签”的资源,很显然是为了帮助初学者快速理解并掌握Nutch的基本操作和核心概念。下面,我们将深入探讨Nutch的相关知识点。 一、Nutch简介 Nutch是一个强大的Web爬虫框架,它提供了从...
“工具”标签则暗示这份资料可能包含了一些辅助工具或者插件的使用,比如如何使用Nutch与Solr或Elasticsearch集成来构建搜索引擎,或者如何使用Nutch的命令行工具进行数据处理。 压缩包中的“Nutch.pdf”可能是...
总的来说,搭建Nutch Web开发环境是一个涉及多组件集成的过程,需要对Java、Maven、Hadoop和Solr有一定的了解。通过这个过程,你可以深入理解搜索引擎背后的工作原理,并为自己的应用定制合适的搜索解决方案。
Nutch是一款开源的、基于Java实现的全文搜索引擎,它主要用于构建大规模的网络爬虫系统,并提供了对抓取的网页进行索引和搜索的功能。Nutch与Hadoop紧密集成,能够充分利用分布式计算的优势,处理海量数据。在本篇中...
8. **可与其他系统集成**:Nutch 可以与Solr或Elasticsearch等搜索平台集成,提供更高级的搜索功能,如 faceted search(分面搜索)和实时搜索。 在使用 Apache Nutch 1.5.1 时,你需要关注的几个关键点包括配置...
此外,还可能探讨Nutch与其他大数据工具如Solr或Elasticsearch的集成,用于构建全文搜索引擎。 关于Java编程,Nutch的开发依赖于Java,因此理解Java基础和多线程编程是必要的。Nutch的很多核心功能都是基于Java的...
- **Solr和Elasticsearch**:Nutch可以与Apache Solr或Elasticsearch集成,提供高性能的搜索功能。 - **HBase**:Nutch也可与HBase结合,用于存储和检索大规模数据。 7. **社区支持** - **文档**:Nutch项目提供...
集成过程通常涉及设置Nutch的输出格式和Solr的输入格式,以及配置Solr的schema.xml文件以匹配Nutch的字段。 在使用Nutch的过程中,开发者需要注意的问题包括: - 确保URL的合法性,避免陷入死循环或抓取无效链接。 ...
8. **集成其他系统**:Nutch不仅可以与Solr或Elasticsearch等搜索引擎集成,也可以与其他数据分析工具如HBase、Spark等配合使用,实现更复杂的业务需求。 9. **学习资源**:Apache Nutch的官方文档、社区论坛以及...
Nutch不仅适用于构建独立的搜索引擎,还可以与其他大数据工具(如Solr、HBase)集成,构建更复杂的信息检索系统。此外,Nutch也是研究搜索引擎算法和Web数据挖掘的理想平台。 6. **学习资源与社区支持** 由于...
6. **Nutch 与其他组件集成**:尽管Nutch 1.9不直接支持HBase,但它可以与Solr或Elasticsearch等搜索服务器集成,提供更高级的搜索功能。你还可以通过Hadoop MapReduce进一步扩展Nutch的功能。 7. **优化与监控**:...
此外,了解 Lucene 和 Solr 对于理解索引和搜索过程也很重要。通过阅读源代码和运行示例,你将能够掌握网络爬虫的基本工作流程,以及如何在实际项目中应用这些技术。 总的来说,Apache Nutch 是一个强大且灵活的...
Nutch 可以与多种存储和索引系统集成,如Apache Solr 和Hadoop HDFS。 6. **搜索接口(Search Interface)**:提供API或Web界面,让用户可以输入查询并返回相关的搜索结果。 **Nutch 1.4 版本特点:** - **改进的...
同时,Nutch还与Apache Solr或Elasticsearch等搜索平台集成,提供更高级的搜索特性,如 faceted search(分面搜索)和实时搜索。 学习Nutch,你需要掌握以下知识点: 1. **Java编程基础**:由于Nutch是用Java编写...
《lucene+nutch搜索引擎开发源码1》是一个包含开源搜索引擎项目Lucene和Nutch源代码的压缩包,主要针对搜索引擎开发的学习和实践。这个压缩包是书籍《lucene+nutch搜索引擎开发》的一部分,由于源码量较大,因此分为...
- **高度可扩展性**:Solr 设计灵活,易于集成新功能和进行定制化开发。 #### 二、Solr 的缺点 尽管 Solr 拥有许多优点,但它也有一些局限性: - **内存占用问题**:由于 Solr 主要依赖于索引,因此在某些情况下...