elasticsearch - 为什么我在状态和索引中有不同的文档计数?

标签 elasticsearch web-crawler kibana stormcrawler

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

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

例子:



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

enter image description here

现在与 '索引' 索引 ,显示有仅 31 次点击 .

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

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

最佳答案

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

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

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

So what I would like to have is the same amount of hits on 'index' too with the content displayed. Instead of just 31.



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

关于elasticsearch - 为什么我在状态和索引中有不同的文档计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49315297/

相关文章:

java - 使用网络爬虫进行比价

elasticsearch - fluentd 丢失毫秒,现在日志消息在 elasticsearch 中的存储顺序乱序

elasticsearch - 如何修复此代码异常错误elasticsearch

java - Kibana 查询结果 _count 和 _search api 之间不匹配

elasticsearch - 如何在elasticsearch中获取两个地理位置之间的距离?

database - Elasticsearch ,多个索引与一个索引和不同数据集的类型?

python - Scrapy 爬取页面,但抓取 0 项

json - 如何根据响应查询Elasticsearch

elasticsearch - ElasticSearch:更新数组中的嵌套文档

html - 搜寻器的HTML快照-了解其工作原理