solr与nutch的区别,及所对应的应用场景

小编 188

solr与nutch的区别在于:solr是搜索引擎,主要用于建索引和搜索服务;而nutch是分布式爬虫系统,主要用于分布式采集数据源。两者所对应的应用场景是:solr可以作为搜索服务器使用,而nutch一般可用作为爬虫使用,负责抓取数据。

1.solr与nutch的区别

solr与nutch原来都是lucene下的子项目,nutch+solr可以搭建一个简单的搜索引擎,但后来nutch独立成为独立项目。

solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

nutch是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本之后,Nutch已经从搜索引擎演化为网络爬虫,接着Nutch进一步演化为两大分支版本:1.X和2.X,这两大分支最大的区别在于2.X对底层的数据存储进行了抽象以支持各种底层存储技术。

简单理解solr与nutch的区别就是:solr是搜索引擎,用于建索引和搜索服务;而nutch是分布式爬虫系统,用于爬取数据源。

2.solr与nutch对应的应用场景

solr是基于lucene的搜索界面,提供XML/HTTP 和 JSON/Python/Ruby API,提供搜索入口、点击高亮、缓存、备份和管理界面。因此,solr一般是作为搜索服务器进行应用。

而nutch是一个开源的、Java实现的搜索引擎,它提供了我们运行自己的搜索引擎所需的全部工具,一般可用作爬虫使用,负责抓取数据。在实际应用中,nutch爬虫生成索引导入到solr中进行查询。

延伸阅读

lucene是做什么的

lucene是一个做搜索用的类库,nutch和solr都是基于lucene的。它是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。

lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。它是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。

在Java开发环境里lucene是一个成熟的免费开源工具。就其本身而言,lucene是当前以及最近几年较受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部