使用 Nutch 搜索堆栈组件
Search stack components with 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?
你说得对,这两个分支之间最大的区别是 2.x 提供了多存储感谢 Apache Gora,但也是围绕相同的架构进行更深层次变化的重写 Map/Reduce 想法(他们都 运行 在 hadoop 之上)。但是 2.x 分支更侧重于 "big table" 具有 Gora 提供的抽象的架构。
您可以观看此视频,其中包含有关 Nutch 1.x 和 2.x (https://www.youtube.com/watch?v=KyHPBtRlo80) 之间差异的更多信息。
在多个存储中拥有多个 "copies" 数据的能力不能掉以轻心,最终每个存储都有其用途,没有 "silver bullet" 可以解决您所有的问题问题。例如,如果你不备份你的段,你可以使用其他一些数据库来 Solr/ES 来保持你的数据的长期备份,并且在任何情况下都能够通过从中提取数据来重新创建你的索引那个数据库。
最后,如果你需要它,你可以使用 Nutch 2.x,如果不需要,我强烈建议使用 Nutch 1.x(你正在使用它),因为到目前为止 Nutch 1.x 仍然提供了比 Nutch 2.x 更多开箱即用的功能,并且传播得更广。尽管 Nutch 2.x 一直在改进,但上次,上次我检查 Nutch 1.x 的性能优于 2.x.