Apache Nutch和Solr:查询

神圣的

我刚刚开始使用Nutch 1.9和Solr 4.10

浏览某些页面后,我发现运行此版本的语法已更改,并且我必须更新某些xml以配置NutchSolr

此版本的软件包不需要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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章