nutch与起点R3集成之笔记(三)

2019-03-27 01:21|来源: 网路

         四、抓取网页,建立solr索引

        在抓取网页前,要保证起点R3处在运行状态。即 在浏览器中键入 http://127.0.0.1:880/ 后,会出现如下窗口:

        在linux或cygwin中运行nutch抓取网页命令为 :bin/nutch  crawl url -solr http://127.0.0.1:880 -dir test -depth 3 -topN ,其dir、depth、topN参数的含义网上介绍有很多,在这里不做解释。参数solr表示将抓取后的网页solr索引到一个提供solr服务的服务器索引库中,这里的127.0.0.1是指当nutch和起点R3都安装在同一台机器上,如果两者不在同一台机器上,这里的127.0.0.1要改成起点R3机器的IP。

      在eclipse环境里,先在apache-nutch-1.3的项目里建立一个main类为org.apache.nutch.crawl.Crawl的java运行应用程序,如下图:

对应的自变量设置为:

 点击“运行”后,最后,在eclipse的控制台出现:

表示网页抓取和solr索引建立完毕。这时,可以在浏览器上通过起点R3的查询界面,实现对抓取的页面进行搜索了。如下图:

         五、总结

       nutch与起点R3集成,其实与nutch和solr集成实现原理是一样:1.定义solr的索引字段,实现nutch的index与solr的index字段的映射;2.使用nutch的solrindex功能,实现将nutch采集的页面索引到solr的索引库中。

      


转自:http://my.oschina.net/sprint/blog/28746

相关问答

更多
  • 这主要是Nutch使用的Solrj版本罐和您尝试集成的Solr 3.6之间的javabin不兼容性。 您需要更新Solrj罐并重新生成作业。 按照论坛中提到的步骤操作。 This is mainly the javabin incompatiblity between the Solrj version jars used by Nutch and the Solr 3.6 which you are trying to integrate. You would need to update the Sol ...
  • 目前user.r已被弃用为安全风险。 应该有一种方法可以实现这种方法......但是还没有人开始研究它。 见http://chat.stackoverflow.com/transcript/291?m=9149463#9149463 Currently user.r deprecated as a security risk. There is supposed to be a dialected method for this to happen .. but no one has started wor ...
  • 创建自己的java类来管理Nutch循环。 它应该类似于org.apache.nutch.crawl.Crawl,但您必须通过调用Mysql连接器来替换对索引器的调用。 或者您可以在每个周期中调用您的Mysql连接器,具体取决于您是要在爬网结束时还是在发生时更新Mysql。 Create your own java class that manage the Nutch cycle. It should be similar to org.apache.nutch.crawl.Crawl but you w ...
  • 您需要将以下Apache Commons库添加到类路径中: commons-httpclient.jar (您可以将它放在nutch安装所使用的其他JAR所在的文件夹中)。 你可以在这里找到当前版本的HttpClient http://hc.apache.org/httpcomponents-client-ga/ 请注意,您的Nutch版本可能使用较旧版本的HttpClient,而当前版本的HttpClient与旧版本不兼容。 在这种情况下,您需要下载旧版本的HttpClient,并在您的库中包含旧版本。 ...
  • 您不应该在每个页面的标题中添加它,因为它的依赖项不一定会加载。 你需要在这里将它添加到你的主题requirejs-config; /app/design/frontend///requirejs.config 在文件中放这个; var config = { paths: { 'select2': 'js/select2.min', }, shim: { 'select2': { deps: ['jquery'], } } }; ...
  • 这是一个开放的JIRA问题( SPR-5991 )。 它具有标记为Spring 3.1的iBatis3支持 There's an open JIRA issue for this (SPR-5991). It has iBatis3 support tagged for Spring 3.1
  • Facebook可能令人困惑。 您需要的令牌取决于您尝试实现的操作。 例如, 您可以使用应用令牌来请求具有特定权限的用户令牌。 然后,您将使用该USER TOKEN代表用户访问facebook api。 在您发布的代码中,您似乎拥有要发送给Facebook的访问令牌作为授予您应用的访问令牌...而不是给定用户的访问令牌。 在成功授予给定用户访问权限后,您需要捕获(并存储)Facebook提供给您的用户访问令牌。 更多相关信息: https : //developers.facebook.com/docs/f ...
  • 即使Perforce允许它,恢复已删除的文件也不会留下一个集成 ,它会留下一个补充 。 移动操作包括将文件添加(不集成)到新位置,然后从旧位置删除它们。 如果您考虑一下,将文件集成到新位置然后从原始位置删除它是没有意义的。 集成的目的是维护两组文件之间的关系。 据我所知,Perforce没有提供“一键”机制来做你想做的事情,但这并不太难: 将已修改的文件复制到临时目录 恢复文件移动 集成文件,然后在新位置打开它们进行编辑 将更改的文件从临时目录复制到新位置并提交 Even if Perforce allow ...
  • LDR R0,[R0,R3] 这条线到底做了什么 R3用作基址( R0 )的偏移量。 换句话说,有效地址是R0+R3 , 从该地址加载的值被写入R0 。 请参阅LDR / STR的文档 。 不仅使用LDR R0,[R0,#0x1AC]原因可能是这是Thumb代码。 Thumb模式下LDR/STR的立即偏移量仅为7位 (5位向左移位2位),0x1AC不适合7位。 因此,偏移首先放在寄存器中。 LDR R0, [R0,R3] What does this line do exactly R3 acts as a ...
  • 如果你需要从头开始构建一个具有grunt功能的主题,那么你可以通过npm使用yeoman轻松构建它。 Yeoman是一个网络脚手架工具,因此您无需进行安装所有细节的艰苦工作。 步骤1: 安装节点js看链接 第2步: npm install -g yo 第3步: npm install -g generator-grunt-magento 步骤4: yo grunt-magento 更多细节来自这里 。 另一种可能的解决方案是在现有主题上创建grunt结构。 这是我们无法概括的内容,因此它实际上取决于您 ...