我已经安装了StormCrawler,包括Elasticsearch集成。我还完成了Youtube上从StormCrawler的创建者那里找到的信息视频。这是一个很好的介绍。我也熟悉Apache Storm。
然而,我发现缺乏关于如何从那里开始的信息和视频。
现在,这就提出了如何定制StormCrawler的问题。应该在哪些螺栓之间实现附加功能?另外,我如何找出在这些螺栓之间传递了哪些字段,以便找出可以提取哪些信息?此外,在将文档保存到Elasticsearch时,我是否应该更新Elasticsearch的方案,或者是否可以简单地将附加字段发送到Elasticsearch螺栓?
发布于 2020-11-02 05:57:22
现在,这就提出了如何定制StormCrawler的问题。应该在哪些螺栓之间实现附加功能?
嗯,这取决于你想要实现什么。你能给我们举个例子吗?
另外,我如何找出在这些螺栓之间传递了哪些字段,以便我找出可以提取哪些信息?
您可以查看正在使用的螺栓的declareOutputFields方法,例如this one for the parser bolt。所有的螺栓都将URL和元数据对象作为输入,一些螺栓将具有二进制内容或文本,这取决于它们在链中的位置。
此外,在将文档保存到Elasticsearch时,我是否应该更新Elasticsearch的方案,或者是否可以简单地将附加字段发送到Elasticsearch螺栓?
我想有一个视频提到了这一点。ES在猜测字段基于其内容的类型方面做得非常好,但您可能希望显式地声明它们,以便完全控制它们在ES中的索引方式。
现在,根据下面的评论,给出一个实用的答案。好消息是,您所需要的一切都应该是开箱即用的,不需要实现自定义的螺栓。您需要的是Tika module,它将从PDF中提取文本和元数据。自述文件说明的不同之处在于,您不需要将重定向螺栓的输出连接到索引螺栓,因为您对索引非PDF文档不感兴趣。最后一件事就是改变
parser.mimetype.whitelist,以便只使用Tika解析PDF文档。
如果你正在使用的话,不要忘记将Tika螺栓连接到statusupdaterbolt。
https://stackoverflow.com/questions/64634700
复制相似问题