【问题标题】:Apache nutch and solr : queriesApache nutch 和 solr:查询
【发布时间】:2015-02-16 06:21:12
【问题描述】:

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

【问题讨论】:

    标签: apache solr nutch


    【解决方案1】:

    尽管 Nutch 是为网络规模的搜索引擎而构建的,但现在情况已不再如此。目前,Nutch 的主要目的是做大规模的爬行。然后,您对爬取数据的处理取决于您的要求。默认情况下,Nutch 允许将数据发送到 Solr。这就是为什么你可以运行

    crawl url crawl solraddress depth level
    

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

    一般情况下,你会在 crawl/segments 中找到爬取的数据,而不是 crawl/crawdb。 crawl 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).
    

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

    我希望这能消除你的困惑。

    【讨论】:

    • 感谢您的回复。我正在使用 Windows 中的 cygwin 开发 nutch1.9。没有为我创建爬网/细分。只有 crawl/crawdb 被创建。当我运行命令`./crawl urls -crawl -depth 3 -topN 5`时出现以下错误。怎么解决!!! Fetcher:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:file:/C:/cygwin64/home/apache-nutch-1.9-bin/apache-nutch-1.9/bin/-crawl/segments/crawl_generate
    • 你能推荐一个在windows中设置nutch的有效教程吗?对此感到沮丧
    • 老实说,我不建议在 Windows 中运行 Nutch。这只是不可预测的。尝试在虚拟机中运行。
    • 我正在使用 cygwin ..它与 unix 环境相同..所以我必须遵循的步骤必须与 unix env 相同..对..
    • Nutch 使用 hadoop,而 hadoop 在 cygwin 中不能很好地工作。我没有在cygwin中使用过Nutch,所以在这里我帮不上什么忙。顺便说一句,如果它解决了你原来的问题,你能接受答案吗?
    【解决方案2】:

    你可以在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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-26
      • 2023-03-27
      相关资源
      最近更新 更多