nutch和solr配置学习
2012-12-03 19:22
337 查看
Nutch和Solr是两个由Apache成员创建的实用工具,你可以使用Nutch抓取网页,使用Solr索引你得到的数据。
除了索引各类网站,这些工具还有很多其他功能,本文将不涉及这些,而是一篇针对如何使用Nutch抓取网页并使用Solr索引并搜索你抓取的数据的新手指南。
本文将不会讨论它们如何工作的大量细节,而会告诉你如何运行一个爬虫和建立索引,我将假设你已经搭建好了tomcat服务器。
1、确认你已正确安装JAVA并正确设置了JAVA_HOME和CLASSPATH变量。
2、下载并解压apache-nutch-1.3-bin.tar.gz(http://nutch.apache.org)和apache-solr-3.3.0.gz (http://lucene.apache.org/solr/)到不同的文件夹下。
cd $HOME/nutch-1.3/runtime/local,以下NUTCH_ROOT即为此目录
chmod +x bin/nutch
3、设置Nutch:编辑NUTCH_ROOT/conf/nutch-default.xml,设置http.agent.name的value为你的爬虫的名字。
创建文件夹NUTCH_ROOT/crawl
创建文件NUTCH_ROOT/urls/nutch,输入你想抓取的所有网址,每行一个,确保包括"http://"和结尾的斜杠"/"。
Nutch 1.3版本移除了crawl-urlfilter.txt,因此如果需要抓取动态网页,只需修改编辑文件NUTCH_ROOT/conf/regex-urlfilter.txt,找到行
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=]
这两行意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?,按照此默认设置是不能抓取到的。可以在上面2个文件中都修改成:
# skip URLs containing certain characters as probable queries, etc.
# -[?*!@=]
另外增加允许的一行
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
4、设置Solr:拷贝NUTCH_ROOT/conf目录下所有文件至SOLR_ROOT/example/solr/conf,覆盖任何可能存在的文件。
编辑SOLR_ROOT/example/solr/conf/schema.xml,将修改行71关于存储属性的设置由false改为true。
编辑SOLR_ROOT/example/solr/conf/solrconfig.xml,将以下行加到第一个requestHandler标签之上:
<requestHandler name="/nutch" class="solr.SearchHandler" >
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<float name="tie">0.01</float>
<str name="qf">
content^0.5 anchor^1.0 title^1.2
</str>
<str name="pf">
content^0.5 anchor^1.5 title^1.2 site^1.5
</str>
<str name="fl">
url
</str>
<str name="mm">
2<-1 5<-2 6<90%
</str>
<int name="ps">100</int>
<str name="q.alt">*:*</str>
<str name="hl.fl">title url content</str>
<str name="f.title.hl.fragsize">0</str>
<str name="f.title.hl.alternateField">title</str>
<str name="f.url.hl.fragsize">0</str>
<str name="f.url.hl.alternateField">url</str>
<str name="f.content.hl.fragmenter">regex</str>
</lst>
</requestHandler>
5、启动Solr:$ cd SOLR_ROOT/example
$ java -jar start.jar
6、启动爬虫:$ cd NUTCH_ROOT
启动命令有如下选项:-dir 指定抓取的数据存放的目录
-threads 指定同时抓取的线程数(可选)
-depth 指定从根页面起希望抓取的链接层级数
-topN 指定每层链接要抓取的最大网页数
你可以设置任意数字,一般情况下数字越大抓取的数据越多。抓取的时间也越长。
例如,下面这个抓取命令可能要用上一两天时间
$ NUTCH_ROOT/bin/nutch crawl urls -dir crawl -depth 20 -topN 2000000
7、索引抓取结果:
$ bin/nutch solrindex http://HOST_ADDRESS:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/*
这里的端口号和下面提到的端口号依据你的服务器设置而定,访问http://HOST_ADDRESS:8983/solr/admin,查看缺省的Solr管理面板,搜索索引。
当你到达结果页后,你可以在地址栏看到url,点击url你也可以看到XML的结果。
依据以上步骤,你将拥有你自己的一个迷你搜索引擎。它将只会搜索你所指定的网址,但你了解更多后,你将发现Nutch和Sorl能帮你实现更多神奇的事情。目前有关这些工具的友好的文档还不够丰富,下面的几个链接能帮助你开始你的探索旅程:
Nutch Wiki:http://wiki.apache.org/nutch/
Solr Wiki:http://wiki.apache.org/solr/FrontPage
Lucid Imagination:http://www.lucidimagination.com/
除了索引各类网站,这些工具还有很多其他功能,本文将不涉及这些,而是一篇针对如何使用Nutch抓取网页并使用Solr索引并搜索你抓取的数据的新手指南。
本文将不会讨论它们如何工作的大量细节,而会告诉你如何运行一个爬虫和建立索引,我将假设你已经搭建好了tomcat服务器。
1、确认你已正确安装JAVA并正确设置了JAVA_HOME和CLASSPATH变量。
2、下载并解压apache-nutch-1.3-bin.tar.gz(http://nutch.apache.org)和apache-solr-3.3.0.gz (http://lucene.apache.org/solr/)到不同的文件夹下。
cd $HOME/nutch-1.3/runtime/local,以下NUTCH_ROOT即为此目录
chmod +x bin/nutch
3、设置Nutch:编辑NUTCH_ROOT/conf/nutch-default.xml,设置http.agent.name的value为你的爬虫的名字。
创建文件夹NUTCH_ROOT/crawl
创建文件NUTCH_ROOT/urls/nutch,输入你想抓取的所有网址,每行一个,确保包括"http://"和结尾的斜杠"/"。
Nutch 1.3版本移除了crawl-urlfilter.txt,因此如果需要抓取动态网页,只需修改编辑文件NUTCH_ROOT/conf/regex-urlfilter.txt,找到行
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=]
这两行意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?,按照此默认设置是不能抓取到的。可以在上面2个文件中都修改成:
# skip URLs containing certain characters as probable queries, etc.
# -[?*!@=]
另外增加允许的一行
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
4、设置Solr:拷贝NUTCH_ROOT/conf目录下所有文件至SOLR_ROOT/example/solr/conf,覆盖任何可能存在的文件。
编辑SOLR_ROOT/example/solr/conf/schema.xml,将修改行71关于存储属性的设置由false改为true。
编辑SOLR_ROOT/example/solr/conf/solrconfig.xml,将以下行加到第一个requestHandler标签之上:
<requestHandler name="/nutch" class="solr.SearchHandler" >
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<float name="tie">0.01</float>
<str name="qf">
content^0.5 anchor^1.0 title^1.2
</str>
<str name="pf">
content^0.5 anchor^1.5 title^1.2 site^1.5
</str>
<str name="fl">
url
</str>
<str name="mm">
2<-1 5<-2 6<90%
</str>
<int name="ps">100</int>
<str name="q.alt">*:*</str>
<str name="hl.fl">title url content</str>
<str name="f.title.hl.fragsize">0</str>
<str name="f.title.hl.alternateField">title</str>
<str name="f.url.hl.fragsize">0</str>
<str name="f.url.hl.alternateField">url</str>
<str name="f.content.hl.fragmenter">regex</str>
</lst>
</requestHandler>
5、启动Solr:$ cd SOLR_ROOT/example
$ java -jar start.jar
6、启动爬虫:$ cd NUTCH_ROOT
启动命令有如下选项:-dir 指定抓取的数据存放的目录
-threads 指定同时抓取的线程数(可选)
-depth 指定从根页面起希望抓取的链接层级数
-topN 指定每层链接要抓取的最大网页数
你可以设置任意数字,一般情况下数字越大抓取的数据越多。抓取的时间也越长。
例如,下面这个抓取命令可能要用上一两天时间
$ NUTCH_ROOT/bin/nutch crawl urls -dir crawl -depth 20 -topN 2000000
7、索引抓取结果:
$ bin/nutch solrindex http://HOST_ADDRESS:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/*
这里的端口号和下面提到的端口号依据你的服务器设置而定,访问http://HOST_ADDRESS:8983/solr/admin,查看缺省的Solr管理面板,搜索索引。
当你到达结果页后,你可以在地址栏看到url,点击url你也可以看到XML的结果。
依据以上步骤,你将拥有你自己的一个迷你搜索引擎。它将只会搜索你所指定的网址,但你了解更多后,你将发现Nutch和Sorl能帮你实现更多神奇的事情。目前有关这些工具的友好的文档还不够丰富,下面的几个链接能帮助你开始你的探索旅程:
Nutch Wiki:http://wiki.apache.org/nutch/
Solr Wiki:http://wiki.apache.org/solr/FrontPage
Lucid Imagination:http://www.lucidimagination.com/
相关文章推荐
- solr6的学习与使用(三):IK分词器配置及使用
- solr全文检索技术学习(一)-核心配置文件solrconfig.xml
- solr学习第四课------solr主从配置索引的主从复制
- solr学习第八课程----MultiCore的配置方法(第二集)
- Nutch学习之Win7环境下在eclipse中搭建Nutch+solr+tomcat
- 【Nutch】Nutch-2.3 + HBase-0.94.14 + Solr-4.10.4 集成配置与安装
- Solr学习之四-Solr配置说明之二
- Solr Cookbook学习记录 - 第一章Solr配置
- Solr 学习总结之配置文件内容
- Solr学习-Tomcat配置
- solr学习(4.1)-solr4.7中文分词器(ik-analyzer)配置
- Solr的学习使用之(二)schema.xml等配置文件的解析
- Nutch1.8+Hadoop1.2+Solr4.3分布式集群配置
- Solr的学习使用之(四)建数据库(添加Core)、表(配置schema.xml)
- solr7.1.0学习笔记(9)---配置文件managed-schema(schema.xml)-样例
- Apache Nutch 1.3 学习笔记九(SolrIndexer)
- nutch和solr配置实用
- Solr学习总结(四)ik分词配置
- nutch1.8+solr 4 配置过程+ikanalayzer2012 中文分词器
- solr全文检索技术学习(二)-schema.xml配置解析