代码之家  ›  专栏  ›  技术社区  ›  bob9123

为什么状态和索引中的文档计数不同?

  •  1
  • bob9123  · 技术社区  · 6 年前

    因此,我遵循风暴爬行器ElasticSearch教程,并尝试使用它。

    当Kibana用于搜索时,我注意到索引名“status”的点击数远远大于“index”。

    示例:

    在左上角,你可以看到 846次点击 对于“状态” 索引我想这意味着它已经爬过846页了。

    enter image description here

    现在使用 “索引”索引 ,表明有 只有31支安打

    我知道functionallyn索引和status是不同的,因为status只负责链接元数据。问题是,StormCrawler似乎正在解析许多页面,而没有为它们编制索引。

    因此,我希望在“索引”上的点击量与显示的内容相同。而不仅仅是31岁。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Julien Nioche    6 年前

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

    现在,如果您查看状态索引中的“status”字段,您会发现有不同的值指示是否已发现、获取URL等。。。看见 WIKI about status stream 。 标记为已发现的那些尚未提取,因此不能在“索引”索引中。如果按status:FETCHED筛选状态索引的内容,则应该会看到一个与目标索引相当的数字。

    SC中的Elasticsearch模块包含kibana模板,允许您查看每个状态的URL细分。如果您还没有这样做,我建议您查看 video tutorials on Youtube

    因此,我希望在“索引”上的点击量与显示的内容相同。而不仅仅是31岁。

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

        2
  •  0
  •   David Cain    6 年前

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