我有以下情况:
=>爬虫通过更新状态索引“检测”页面的删除:文档获取状态“FETCH_ERROR”(并在达到“max.fetch.errors”状态“ERROR”后)。
问题: Elasticsearch-Index仍保留文档,但由于删除了没有意义的页面。
查看配置,我还没有找到一种方法告诉StormCrawler从ES-index中删除状态为“ERROR”的文档(例如已被删除)。 有没有办法使用StormCrawler来实现这一点,还是有理由不能这样做?
非常感谢你的帮助!
答案 0 :(得分:0)
我们计划添加GONE状态,但尚未实施,请参阅#253。与此同时,我们可以删除ERROR状态(即使其中大部分都没有被添加到ES),难度是索引是在默认流上完成的,即已经获取和解析的文档,而状态信息被发送通过各种螺栓到状态流。我们可以有一个定制的删除螺栓 - 它只需要URL而不需要其他东西:使用它我们可以修改AbstractStatusUpdaterBolt,以便它发出要删除到特殊流上的URL,例如'删除'并将我们的定制ES删除螺栓连接到它。这有意义吗?请随时参与上述链接的讨论。谢谢!