1

所以我正在关注 Storm-Crawler-ElasticSearch 教程并玩弄它。

当使用 Kibana 进行搜索时,我注意到索引名称“状态”的命中数远大于“索引”。

例子:

在左上角,您可以看到“状态”索引有846 次点击 ,我认为这意味着它已经爬过了 846 个页面。

在此处输入图像描述

现在使用'index' index,显示只有 31 个 hits

我知道功能索引和状态是不同的,因为状态只负责链接元数据。问题是 StormCrawler 似乎正在解析许多页面而不是索引它们。

所以我想要的是与显示的内容一样的“索引”点击量。而不是只有 31 个。

4

2 回答 2

2

“状态”索引包含有关爬虫获取或发现的所有 URL 的信息。这大致相当于 Nutch 中的 crawldb。“索引”索引包含已获取、解析和索引的页面。

现在,如果您查看状态索引中的“状态”字段,您会发现有不同的值指示 URL 是否已被发现、已获取等……请参阅关于状态流的 WIKI。标记为 DISCOVERED 的那些尚未被提取,因此不能在“索引”索引中。如果您按 status:FETCHED 过滤状态索引的内容,您应该会看到一个与目标索引相当的数字。

SC 中的 Elasticsearch 模块包含 kibana 模板,可让您查看每个状态的 URL 细分。如果您还没有这样做,我建议您查看Youtube 上的视频教程

所以我想要的是与显示的内容一样的“索引”点击量。而不是只有 31 个。

它最终会到达那里,你只需要给爬虫时间来完成它的工作(并且礼貌地这样做)。请记住,爬虫发现 URL 的速度比获取它们的速度要快。在询问速度之前,请阅读常见问题解答

于 2018-03-16T08:39:17.280 回答
0

重定向和获取错误是造成差异的另一个可能原因。它们存在于状态索引中,但不存在于内容索引中。

于 2018-07-11T23:00:28.263 回答