2016-12-30 144 views
1

一个相关的Question on Stackoverflow存在,但它被问到六年半前。自那时以来,尤其在Nutch中发生了很多变化。基本上我有两个问题。Nutch v Solr v Nutch + Solr

  1. 我们如何比较Nutch和Solr?

  2. 在什么情况下我们需要以及为什么最好整合这两者并用于爬网?这与在独立模式(或hadoop)中使用它们有什么不同?

回答

2

在现阶段的Nutch仅用于抓取网络内容,这意味着访问一个网页,提取内容,找到更多的链接,并重复这一过程(我跳过了很多复杂的东西之间负责,但希望你能明白)。

抓取过程的最后一步是将数据存储在后端(ES/Solr是1.x分支上受支持的数据存储区)。因此,在这一步中,Solr开始游戏,在Nutch完成其工作之后,您需要将数据存储在某处以便能够在其上执行查询:这是Solr工作。 (前面提到的问题),但是这个决定(也是前一段时间)是为了赞成使用Solr/ES(或任何其他的存储器)而不赞成使用Solr/ES你可以写一个索引器插件)。现在,索引插件是可插入的,您可以为所需的任何数据存储编写插件。

摘要:Nutch是一个爬虫,Solr是Nutch存储抓取的数据的搜索引擎。

+0

很好的解释。还有一个问题,Solr在基于hadoop和nutch的爬行系统中处于什么位置? –

+1

Solr通常部署在hadoop之外,Nutch运行在Hadoop集群之上(在分布式爬网设置上)。虽然你可以在HDFS上运行Solr(https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+HDFS) –

+0

好。感谢您的好评。我接受了答案。 –

0
  1. Nutch和Solr是两个不同的东西。 Nutch只是抓取网页并分析网页的内容,而Solr负责索引,即当Solr与Nutch集成时,存储由Nutch抓取的内容。

  2. 当您需要在抓取网页时检索并存储数据时,您需要将Solr与Nutch集成。如果你不需要存储或索引任何东西,那么你不需要Solr。当您想要存储数据时,Solr非常有用,Nutch会抓取并执行数据搜索。