Apache nutch和solr:查询

时间:2015-02-16 06:21:12

标签: apache solr nutch

我刚开始使用 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

运行 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 urls solr http://localhost:8983/solr/ -depth 3 -topN 5

为什么我们需要将 Nutch 抓取的数据编入 Solr

使用 Nutch

进行抓取后 用于此目的的

命令:./crawl urls -dir crawl -depth 3 -topN 5;我们是否可以查看已抓取的数据,如果有,在哪里?

OR 只有在将 Nutch 抓取的数据编入索引 Solr 之后,我们才能查看已抓取的数据吗?

如何在Solr Web中查看已爬网数据?

用于此目的的

命令:./crawl urls solr localhost:8983/solr/ -depth 3 -topN 5

2 个答案:

答案 0 :(得分:1)

虽然Nutch是一个网络规模的搜索引擎,但事实并非如此。目前,Nutch的主要目的是做大规模爬行。您对已爬网数据的处理方式符合您的要求。默认情况下,Nutch允许将数据发送到Solr。这就是你可以运行

的原因
crawl url crawl solraddress depth level

您也可以发出solr url参数。在这种情况下,nutch不会将已爬网的数据发送到Solr。如果不将已爬网数据发送到solr,您将无法搜索数据。爬行数据和搜索数据是两回事,但非常相关。

通常,您会发现抓取/细分中的已爬网数据不是抓取/抓取。爬网db文件夹存储有关已爬网URL的信息,其获取状态以及下次提取时间以及其他一些有用的爬网信息。 Nutch将实际爬网数据存储在爬网/段中。

如果您希望有一种简单的方法来查看已爬网的数据,您可以尝试使用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).

每个阶段都是可扩展的,允许您添加逻辑以满足您的要求。

我希望能够清除你的困惑。

答案 1 :(得分:0)

你可以在Windows上运行nutch - 我也是初学者 - 是的,它在Windows中安装有点困难但是它确实有用! - 这个输入路径不存在问题可以通过以下方式解决: - 用hadoop-core-0.20.2.jar替换apache-nutch-1.9 / lib中的Hadoop-core-1.2.0.jar文件(来自maven) 然后将此新文件重命名为hadoop-core-1.2.0