【发布时间】:2016-12-30 18:05:03
【问题描述】:
存在一个相关的Question on Stackoverflow,但它是在六年半前被问到的。从那以后,特别是在 Nutch 发生了很多变化。基本上我有两个问题。
我们如何比较 Nutch 和 Solr?
我们在什么情况下需要,为什么最好将这两者结合起来用于爬取?与在独立模式(或使用 hadoop)中使用它们有何不同?
【问题讨论】:
标签: hadoop solr web-scraping web-crawler nutch
存在一个相关的Question on Stackoverflow,但它是在六年半前被问到的。从那以后,特别是在 Nutch 发生了很多变化。基本上我有两个问题。
我们如何比较 Nutch 和 Solr?
我们在什么情况下需要,为什么最好将这两者结合起来用于爬取?与在独立模式(或使用 hadoop)中使用它们有何不同?
【问题讨论】:
标签: hadoop solr web-scraping web-crawler nutch
现阶段 Nutch 只负责抓取网页,即访问网页、提取内容、查找更多链接并重复该过程(中间跳过了很多复杂的东西,但希望你能明白)这个想法)。
爬取过程的最后一个阶段是将数据存储在后端(ES/Solr 是 1.x 分支上支持的数据存储)。所以这一步是 Solr 发挥作用的地方,在 Nutch 完成工作后,您需要将数据存储在某个地方以便能够在其上执行查询:这就是 Solr 的工作。
前段时间,Nutch 包括编写倒排索引的功能(如问题中所述),但决定(也是前段时间)弃用此功能,转而使用 Solr/ES(或您使用的任何其他存储)可以写一个索引器插件)。现在索引插件是可插入的,你可以为任何你想要的数据存储编写一个插件。
总结:Nutch 是一个爬虫,Solr 是 Nutch 存储爬取数据的搜索引擎。
【讨论】:
Nutch 和 Solr 是两个不同的东西。 Nutch 只是抓取网页并解析网页内容,而 Solr 负责索引,即在 Solr 与 Nutch 集成时存储 Nutch 抓取的内容。
当您必须在爬网时检索和存储数据时,您需要将 Solr 与 Nutch 集成。如果您不需要存储或索引任何内容,那么您不需要 Solr。当您想要存储 Nutch 抓取的数据然后对数据执行搜索时,Solr 很有用。
【讨论】: