使用Nutch搜索堆栈组件

时间:2017-05-18 17:45:41

标签: mongodb nutch

我试图理解Nutch 1.x和Nutch 2.x之间的区别,如果我只是想用Nutch抓取几百个网站,然后将数据索引到Elasticsearch v2.3.0

据我了解,似乎主要区别在于Nutch 2.x可以使用多个后端(Elasticsearch,MongoDB,HBase,Cassandra?等)来存储数据。

但是,如果我不需要多个后端(只想将数据索引到ES)那么我是否需要担心Nutch 2.x?

Nutch 2.x的一些使用案例是什么?为什么使用Nutch 2.x的搜索应用程序需要多个后端 - 例如Elasticsearch和MongoDB?什么样的应用程序需要Nutch 2.x将数据发送到多个后端?

我已经安装,配置和爬行Nutch 1.x如果我在这里错过2.x的话会徘徊吗?

1 个答案:

答案 0 :(得分:0)

你是对的,两个brance之间的最大区别在于2.x提供了多个存储,这要归功于Apache Gora,但也是围绕相同的Map / Reduce想法进行更深层次的架构更改(它们都运行在hadoop之上)。但2.x分支更侧重于Gora提供抽象的“大表”架构。

您可以观看此视频,其中包含有关Nutch 1.x和2.x(https://www.youtube.com/watch?v=KyHPBtRlo80)之间差异的更多信息。

在多个存储中存储数据的多个“副本”的可能性不容小觑,最终每个存储都能达到目的,并且没有“银弹”可以解决您的所有问题。例如,如果您不对段进行备份,则可以使用Solr / ES之外的其他数据库来保留数据的长期备份,并且无论如何都可以通过从该数据库中提取数据来重新创建索引。

最后,如果你需要它,你可以使用Nutch 2.x,如果不是我强烈建议使用Nutch 1.x(并且你正在使用它)因为到目前为止Nutch 1.x仍然提供更多功能Nutch 2.x并且更加传播的盒子。虽然Nutch 2.x一直在不断改进,但上次我检查Nutch 1.x的表现要好于2.x。