当前位置: 首页 > 知识库问答 >
问题:

螺母爬网失败的 Solr 索引,报告“索引器: java.io.IO异常: 作业失败!

杜弘光
2023-03-14

我在ec2实例上集成了Nutch1.13和Solr 6.5.1。我确实复制了模式。使用下面的cp命令将xml转换为Solr。我给localhost发了兴奋剂。宿主在nutch站点。nutch_home/conf文件夹中的xml。

cp /usr/local/apache-nutch-1.13/conf/schema.xml /usr/local/apache-nutch-1.13/solr-6.5.1/server/solr/nutch/conf/

此外,每次创建托管架构时,因为它是solr 6。一直到索引工作正常。我尝试的命令是

[ec2-user @ IP-172-31-16-137 Apache-nutch-1.13]$ bin/crawl-I-D Solr . server . URL = http://35 . 160 . 82 . 191:8983/Solr/#/nutch/URLs/crawl 1

在运行上述命令时,一切似乎都很好,直到索引。我完全卡在最后一步了。

运行时出错:/usr/local/apache-nutch-1.13/bin/nutch index-Dsolr.server.url=://35.160.82.191:8983/solr/#/nutch/crawledb-linkdb crawl/linkdb crow/segments/20170519074733失败,退出值为255。

预先感谢

更新 我在会议/坚果网站中更改了以下内容.xml

<property>
<name>plugin.includes</name>
<value>protocol-http|urlfilter-regex|parse-html|index-(basic|anchor)|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)</value>
</property>

现在没有错误,但我得到了以下信息

重复数据消除于2017-05-19 10:08:05完成,耗时:00:00:03将20170519100420索引到索引/usr/local/apache-nutch-1.13/bin/nutch index-Dsolr.server.url=//35.160.82.191:8983/solr/nutch/crawledb/crawdb-linkdb craw/linkdb grawled/segments/20170519.100420段目录完成:craw/segments/20170519100420。索引器:从2017-05-19 10:08:06开始索引器:删除已删除的文档:false索引器:URL筛选:false索引号:URL规范化:false未激活IndexWriter-检查配置索引器:索引、删除或跳过的文档数:索引器:44索引(添加/更新)索引器:于2017-05-199 10:08:10完成,已用时间:00:00:03如果可能,请清理索引/usr/local/apache-nutch-1.13/bin/nutch clean-Dsolr.server.url=//35.160.82.191:8983/solr/nutch/crable/crabledb 2017年5月19日星期五10:08:13 UTC 2017:完成循环,迭代1次

更新2我发现在nutch站点中添加了solr索引器。xml帮助如本文所建议,但现在错误在清理部分

运行时出错:/usr/local/Apache-nutch-1.13/bin/nutch clean-dsolr . server . URL =://35 . 160 . 82 . 191:8983/Solr/nutch/crawl/crawl db失败,退出值为255。

既然我想用Solr UPDATE 3实现一个搜索引擎,有什么建议吗

现在完全没有错误。但由于某些原因,抓取不起作用。仅urls/seed中指定的urls。txt被获取和爬网。nutch后面没有外部链接。

[ec2-user@ip-172-31-16-137 阿帕奇-坚果-1.13]$ bin/crawl/i -D solr.server.url=http://35.160.191:8983/solr/nutch/ urls/ crawl 5 注入种子 URL /usr/本地/坚果-1.13/垃圾/坚果注入抓取/抓取数据库网址/ 注射器:从 2017-05-19 开始 12:27:19 注射器: crawlDb: crawl/crawldb 注射器: 网址:将注入的网址转换为抓取数据库条目。注入器: 覆盖: false 注入器: 更新: 假注入器: 过滤器拒绝的总网址数: 0 注入器: 规范化和过滤后注入的总网址数: 1 注入的网址总数, 但已在 CrawlDb 中: 1 注入的网址总数: 0 注入的新网址总数: 0 注射器: 0 注入的网址总数: 2017-05-19 12:27:21, 已用: 00:00:02 星期五 12:27:21 UTC 2017 : 迭代 1 的 5 生成一个新的段 /usr/本地/apache-nutch-1.13/bin/nutch 生成 -D mapreduce.job.reduces=2 -D mapred.child.java.opts=-Xmx1000m -D 映射还原.reduce.推测= 假 -D 映射还原.映射.推测= 假 -D 映射还原.map.output.压缩=真爬网/爬网数据库爬网/段 -topN 50000 -num取样机 1 -无过滤器生成器:从 2017-05-19 12:27:23 开始 生成器:选择得分最高的网址进行获取。生成器: 过滤: 假 生成器: 归一化: 真 生成器: topN: 50000 生成器: 0 条记录选择用于获取, 退出 ...生成返回的 1(未创建新段)转义循环:现在无需提取更多 URL

我想将坚果数据用于Solr最终更新的网络搜索结果

[ec2-user@ip-172-31-16-137 apache-nutch-1.13]$ bin/crawl -i -D solr.server.url=://35.160.82.191:8983/solr/nutch/ urls/ crawl  1 

共有1个答案

宰父霖
2023-03-14

不需要将 nutch 站点.xml复制到 Solr,只需将架构.xml文件即可为来自 Nutch 的数据指定所需的架构。如果您使用的是 Solr 而不是 ES,则不需要此参数检查日志/hadoop.log文件以查看是否有更多关于异常的数据,当然,请检查Solr端的日志,此错误通常意味着Solr配置有问题,缺少字段等。在这种情况下,由于您没有复制架构.xml并且Nutch没有利用Solr 6上的托管架构,因此Solr必须抱怨缺少字段,并且您的solr URL(包括#字符)看起来也不好,这就是Solr管理UI在浏览器中显示数据的方式,但是要从Nutch /终端使用它应该是/solr/nutch

顺便说一句,尽管最近的Solr版本中的一些路径发生了变化,但请查看教程,这仍然是一个很好的集成工作指南

 类似资料:
  • 我正在尝试将一些xml文件索引到Solr6.2中。1使用他们的DataImportHandler。 为此,我将所需的导入和此RequestHandler添加到solrconfig中。xml: 然后我编写了数据配置。并将其放入与solrconfig相同的路径中。xml: 这将使ImportHandler递归地遍历目录中的所有xml文件,并根据XPath对它们进行索引。 当我像这样调用requestH

  • 我有一个MongoDB,里面有大约80k个文档,每个文档都是一个带有、等的条目。我想做,为此我使用以下命令创建了一个文本索引: 索引构建失败,因为它运行内存溢出并杀死了运行mongoDB的作业。这在日志中: 2018-03-22T14:58:12.017 0000 I-[initandlisten]索引构建:2500/861872% 2018-03-22T14:58:15.028 0000 I-[

  • 我在尝试使用Maven Reporting Mojo运行CucumberJVM测试时遇到以下错误。 [INFO]---maven-cucumber-报告:0.0.5:生成(执行)@testproject---关于生成java.io.FileNotFoundExc0019: /Users//ideaProjects/testproject/Target/cucumber.json(没有这样的文件或目

  • 主要内容:1 索引扫描排序,2 索引下推,3 压缩(前缀压缩)索引,4 重复、冗余索引和未使用的索引,5 常见索引失效情况,6 三星索引详细介绍了各种高性能的索引使用策略,比如索引排序、索引下推、压缩索引等等,以及常见索引失效的情况。 前面我们已经介绍了各种类型的索引结构及其对应的优缺点: BTREE索引的数据结构以及具体实现原理深入解析 哈希索引的数据结构以及索引的优缺点 正确的创建和使用索引是实现高性能查询的基础。我们通常会看到一些查询不当的使用索引,或者使用MySQL无法使用已有的索引,下

  • 主要内容:在Apache Solr中的索引,使用Post命令添加文档,使用Solr Web界面添加文档,使用Java Client API添加文档一般来说,索引是系统地排列文档或(其他实体)。索引使用户能够在文档中快速地查找信息。 索引集合,解析和存储文档。 索引是为了在查找所需文档时提高搜索查询的速度和性能。 在Apache Solr中的索引 在Apache Solr中,我们可以索引(添加,删除,修改)各种文档格式,如xml,csv,pdf等。可以通过几种方式向Solr索引添加数据。 在本章中

  • 我最近开始在nutch上工作,我试图理解它是如何工作的。据我所知,Nutch基本上是用来抓取web的,Solr/Lucene是用来索引和搜索的。但是当我阅读nutch的文档时,它说nutch也做倒排索引。它是否在内部使用Lucene来进行索引,或者它是否有其他一些用于索引的库?如果它使用solr/Lucene进行索引,那么为什么有必要像nutch教程所说的那样用nutch配置solr呢? 是默认情