2016-09-16 28 views

回答

1

Nutch 1.x =>不开箱即用。你必须修改Injector代码,以便从MySQL读取,但这当然是可行的。我很早以前就为一个客户做过这件事。

另外,你可以使用StormCrawler,它有一个MySQL模块,应该没有额外的工作来让它工作。我们博客上的Cloudsearch tutorial显示了如何在SC上使用MySQL。

Nutch 2.x使用GORA作为中间层,IIRC有一个SQL插件。不确定其状态以及这是否合适。

+0

朱利安您好,感谢您的回答。我只对Nutch感兴趣。是的,在Gora支持apache nutch 2.3.1中有一个mysql插件,但我认为它仅用于存储数据而不用于URL输入。我不确定当我取消注释mysql和mongodb时(如果我只想将结果保存在mongodb中)会发生什么情况。 – Sparkan

+0

取消注释可能会导致一个可爱的混乱我猜;-)。如果我是你,我会坚持使用Nutch 1.x(更好的性能,更少的配置等),并编写一个定制的Injector。无论如何,你必须对Nutch2.x进行同样的处理,除非你使用与GORA相同的序列化来处理你的种子,这可能不是你想要的。 –

3

由于Julien说你应该修改INJECTOR代码来实现这一点。不过,我可以为此提出解决方法。您可以使用命令bin/nutch startserver在服务器模式下使用NUTCH,然后从数据库加载您的种子URL。然后,您可以使用Nutch REST API使用从数据库加载的URL创建种子列表,并将创建的种子文件指向INJECT作业创建服务调用。

你可以找到关于此REST API的详细信息: -

http://nutch.apache.org/miredot/1.12/index.html#1153761698https://docs.google.com/document/d/1OGg22ATohapP2ycewIaTcUnENc2FeyYzni0ED_Jjxz8/edit https://wiki.apache.org/nutch/NutchRESTAPI

相关问题