我刚刚开始使用Nutch 1.9和Solr 4.10
浏览某些页面后,我发现运行此版本的语法已更改,并且我必须更新某些xml以配置Nutch和Solr
此版本的软件包不需要Tomcat即可运行。我启动了Solr:
java -jar start.jar
并检查localhost:8983 / solr / admin,它的工作原理。
我在bin / url / seed.txt中植入了一个种子,种子是“ simpleweb.org”
Nutch的Ran Command:./crawl urls -dir crawl -depth 3 -topN 5
我在中间没有几个IO异常,因此为了避免IO异常,我下载了patch-hadoop_7682-1.0.x-win.jar并在nutch-site.xml中进行了输入,并将jar文件放在Nutch的lib中。
运行Nutch之后,创建了以下文件夹:
apache-nutch-1.9\bin\-dir\crawldb\current\part-00000
我可以在该路径中看到以下文件:
data<br>
index<br>
.data.crc<br>
.index.crc<br>
我想知道如何处理这些文件,下一步是什么?我们可以查看这些文件吗?如果是,怎么办?
我将从Nutch抓取的数据索引到Solr中:
用于将solr与nutch链接(命令成功完成)命令 ./crawl url solr http:// localhost:8983 / solr / -depth 3 -topN 5
为什么我们需要将Nutch爬行到Solr的数据编制索引?
使用Nutch爬行之后
用于此的命令:./crawl urls -dir crawl -depth 3 -topN 5;
我们可以查看已爬网的数据吗?如果可以,在哪里?
或者仅在将Nutch爬网的数据索引到Solr中之后,我们才能查看爬网的数据整体吗?
如何在Solr Web中查看已爬网的数据?
用于此的命令: ./crawl urls solr localhost:8983/solr/ -depth 3 -topN 5
尽管Nutch最初是作为Web规模的搜索引擎而构建的,但现在不再是这种情况了。目前,Nutch的主要目的是进行大规模爬网。然后,您对所抓取的数据的处理就可以满足您的要求。默认情况下,Nutch允许将数据发送到Solr。这就是为什么你可以跑步
crawl url crawl solraddress depth level
您也可以发出solr url参数。在这种情况下,nutch将不会将爬网的数据发送到Solr。如果不将爬网的数据发送到solr,则将无法搜索数据。检索数据和搜索数据是两件不同的事情,但是却非常相关。
通常,您将在爬网/段中找到爬网数据,而不是爬网/爬网db。crawl db文件夹存储有关已爬网URL,它们的获取状态和下次获取时间的信息,以及一些其他有用的爬网信息。Nutch将实际的已爬网数据存储在爬网/段中。
如果您想以一种简单的方式查看已爬网的数据,则可以尝试使用2.x,因为它可以通过Gora组件将其已爬网的数据存储到多个后端(如MySQL,Hbase,Cassandra等)中。
要在solr上查看数据,您可以像下面这样简单地向Solr发出查询:
curl http://127.0.0.1:8983/solr/collection1/select/?q=*:*
否则,您始终可以通过添加索引器插件将数据推送到其他存储中。目前,Nutch支持将数据发送到Solr和Elasticsearch。这些索引器插件发送结构化数据,例如标题,文本,元数据,作者和其他元数据。
以下总结了Nutch中发生的情况:
seed list -> crawldb -> fetching raw data (download site contents)
-> parsing the raw data -> structuring the parse data into fields (title, text, anchor text, metadata and so on)->
sending the structured data to storage for usage (like ElasticSearch and Solr).
这些阶段中的每个阶段都是可扩展的,并允许您添加逻辑以适合您的需求。
我希望这能消除您的困惑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句