【问题标题】:Nutch v Solr v Nutch+SolrNutch v Solr v Nutch+Solr
【发布时间】:2016-12-30 18:05:03
【问题描述】:

存在一个相关的Question on Stackoverflow,但它是在六年半前被问到的。从那以后,特别是在 Nutch 发生了很多变化。基本上我有两个问题。

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

  2. 我们在什么情况下需要,为什么最好将这两者结合起来用于爬取?与在独立模式(或使用 hadoop)中使用它们有何不同?

【问题讨论】:

    标签: hadoop solr web-scraping web-crawler nutch


    【解决方案1】:

    现阶段 Nutch 只负责抓取网页,即访问网页、提取内容、查找更多链接并重复该过程(中间跳过了很多复杂的东西,但希望你能明白)这个想法)。

    爬取过程的最后一个阶段是将数据存储在后端(ES/Solr 是 1.x 分支上支持的数据存储)。所以这一步是 Solr 发挥作用的地方,在 Nutch 完成工作后,您需要将数据存储在某个地方以便能够在其上执行查询:这就是 Solr 的工作。

    前段时间,Nutch 包括编写倒排索引的功能(如问题中所述),但决定(也是前段时间)弃用此功能,转而使用 Solr/ES(或您使用的任何其他存储)可以写一个索引器插件)。现在索引插件是可插入的,你可以为任何你想要的数据存储编写一个插件。

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

    【讨论】:

    • 很好的解释。还有一个问题,Solr 在基于 hadoop 和 nutch 的爬行系统中的位置在哪里?
    • Solr 通常部署在 hadoop 之外,Nutch 运行在 Hadoop 集群之上(分布式爬虫设置)。虽然你可以在 HDFS 上运行 Solr (cwiki.apache.org/confluence/display/solr/Running+Solr+on+HDFS)
    • 好。感谢您的友好回复。我接受答案。
    • 没问题,很高兴有帮助! :)
    【解决方案2】:
    1. Nutch 和 Solr 是两个不同的东西。 Nutch 只是抓取网页并解析网页内容,而 Solr 负责索引,即在 Solr 与 Nutch 集成时存储 Nutch 抓取的内容。

    2. 当您必须在爬网时检索和存储数据时,您需要将 Solr 与 Nutch 集成。如果您不需要存储或索引任何内容,那么您不需要 Solr。当您想要存储 Nutch 抓取的数据然后对数据执行搜索时,Solr 很有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      相关资源
      最近更新 更多