Nutch + Solr - 清理需要很长时间才能完成

Nutch + Solr - Clean takes a very long time to complete

我正在使用 Apache Nutch + Solr 构建一个搜索引擎。

我正在使用 bin/crawl 脚本进行抓取和索引。我已经索引了大约 50,000 个文档,现在,在每次迭代中,cleaning phase 需要大约 6 分钟 才能完成(而之前的阶段大约需要 2 分钟).

查看 hadoop.log 文件时,我可以看到在每次迭代中,indexer.CleaningJob 阶段删除的文档总数都会增加(当前删除的文档数为 11,700)。

为什么需要这么长时间才能完成,我该怎么做才能解决这个问题?

如果能得到任何帮助,我将不胜感激!

选择哪些文档用于编制索引存在不对称性。清洁:

  • 在每个抓取周期中,只有来自最后一个片段的文档是 indexed/updated,因为内容(已解析的数据和文本)是必需的
  • 但是,CrawlDb 中包含的所有 404、重复、重定向等都将从索引中删除。虽然也可以使用基于 HTTP 响应状态的段删除 404 和重定向,但某些作业会修改 CrawlDb 中的状态(例如,根据内容签名检测重复项)。

随着时间的推移,CrawlDb 会增长并变得比单个段大得多。这会减慢清洁工作。您可以修改 bin/crawl 脚本,而不是每个周期都进行删除。