Mongodb 使用Nutch搜索堆栈组件

Mongodb 使用Nutch搜索堆栈组件,mongodb,nutch,Mongodb,Nutch,我试图理解Nutch 1.x和Nutch 2.x之间的区别,如果我只是尝试使用Nutch抓取几百个网站,然后将数据索引到Elasticsearch v2.3.0 据我所知,主要的区别似乎在于Nutch2.x可以使用多个后端(Elasticsearch、MongoDB、HBase、Cassandra?)来存储数据 然而,如果我不需要多个后端(只想将数据索引到ES),那么我甚至需要担心Nutch2.x吗 Nutch2.x的一些用例是什么?为什么使用Nutch2.x的搜索应用程序需要多个后端(例如El

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

据我所知,主要的区别似乎在于Nutch2.x可以使用多个后端(Elasticsearch、MongoDB、HBase、Cassandra?)来存储数据

然而,如果我不需要多个后端(只想将数据索引到ES),那么我甚至需要担心Nutch2.x吗

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


我已经安装、配置和爬网了Nutch 1.x。。。如果我想知道2.x是否遗漏了一些东西?

你是对的,这两个分支之间最大的区别是,由于ApacheGora,2.x提供了多个存储,但也是一种重写,在架构上有了更深刻的变化,采用了相同的Map/Reduce思想(它们都运行在hadoop之上)。但是2.x分支更侧重于“大表”体系结构,其抽象由Gora提供

您可以观看此视频,其中包含有关Nutch 1.x和2.x()之间差异的更多信息

在多个存储中拥有多个数据“副本”的能力是不可轻视的,最终每个存储都能发挥其作用,没有“银弹”可以解决所有问题。例如,如果您不备份数据段,您可以另外使用一些其他数据库来保存数据的长期备份,并且在任何情况下都可以通过从该数据库中提取数据来重新创建索引

最后,如果您需要它,您可以使用Nutch 2.x,如果不需要,我强烈建议您使用Nutch 1.x(您也在使用它),因为到目前为止,Nutch 1.x仍然提供了比Nutch 2.x更多的开箱即用的功能,而且更广泛。虽然Nutch 2.x一直在改进,但上次,上次我检查Nutch 1.x的性能比2.x好