nutch/solr/lucene//hadoop/hbase 搜索引擎

来源:互联网 发布:矩阵不可逆说明什么 编辑:程序博客网 时间:2024/04/25 08:24

因为项目的需要,需要自建搜索引擎,抓取外网或者内网的网页和文件。网上搜了
很多教程,要么很旧,要么写得不完整。我把这几天的心得总结一下,分享给大家。
 

 
nutch目前有两个版本,1.6稳定版和2.1测试版,2.1更加先进,用上了apache 
 
gora。nutch抓取的数据可以选择保存到文件夹、hdfs、mysql、hbase。我装了
两种nutch版本做测试,1.6版用hdfs,2.1版用hbase。数据索引可以用solr,
2.1版还支持elasticsearch,用户通过rest接口查询。抓取和索引都可以设置成
定时任务。
 
 
找两台机器,都装上ubuntu 12.04 64bit,一台做master,一台做slave。下
载并安装以下官方包,包括hadoop-1.1.1,hbase-0.92.2,nutch-1.6,
nutch-2.1,solr-4.0.0,zookeeper-3.4.5。这些包都是最新的稳定版,但
是要注意hbase的版本。hbase-0.90.6和hadoop-1.1.1不兼容,hbase-
0.94.3和gora-0.2.1不兼容,只有hbase-0.92.2没问题。我前阵子用
cloudera cdh4 mr1,发现这个发行版和其它软件的兼容性很差,建议大家还是别
用了。
 
 
附件是安装脚本,包括hadoop,zookeeper,hbase,solr,nutch,nutch2。
测试抓取网易首页,然后再查询,功能都正常,但是pdf、office等文件的解析还没
有测试,solr集群也还没有做,不过这些应该是没有问题的,重点是solr和nutch


===========================================================

Hadoop中实现了Google的GFS和MapReduce算法,使Hadoop成为了一个分布式的计算平台。Hadoop不仅是一个用于存储的分布式文件系统,而且是设计用来在由通用计算设备组成的大型集群上执行分布式应用的框架。

Lucene是一个Java高性能全文索引引擎工具包可以方便的嵌入到各种实际应用中实现全文索引搜索功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎应用,Lucene为Nutch提供了文本搜索和索引的API,Nutch不仅提供搜索,而且还有数据抓取的功能。

在nutch0.8.0版本之前,Hadoop是Nutch的一部分,从nutch0.8.0开始,NDFS和MapReduce从中被剥离出来成立一个新的开源项目Hadoop,Nutch0.8.0版本的架构比从前有了根本性的变化,完全构建在Hadoop的基础之上了

===========================================================

lucene是一个做搜索用的类库。
nutch和solr都是基于lucene的,二者都是可直接运行的应用程序。
solr是lucene的服务器化,内嵌了jetty,提供REST接口,
用户可以直接post数据给solr,然后由solr进行索引。
solr不包含下载系统,用户需要负责下载,转成solr所需要的格式。
solr还提供查询接口供用户查询。
nutch可以看成一个out-of-box的搜索引擎,包含了crawler,indexer和查询接口。
但nutch更偏向于下载系统。
一般可以使用nutch做crawler,而使用solr做indexer和查询接口。

转载:http://blog.sina.com.cn/s/blog_4d018e700101a6pf.html

0 0
原创粉丝点击