如何基于主机将 StormCrawler 内容发送到多个 Elasticsearch 索引?
How can I send StormCrawler content to multiple Elasticsearch indices, based on host?
我目前有一个成功的 StormCrawler 实例可以抓取大约 20 个站点,并将内容编入一个 Elasticsearch 索引。是否可以在 ES 中或通过 StormCrawler 将每个主机的内容发送到其自己唯一的内容索引?
出于好奇:你为什么需要这样做?每个主机有一个索引似乎相当浪费。如果您想为特定主机提供结果,您可以根据主机等字段过滤结果。
要回答您的问题,目前没有直接的方法可以做到这一点,因为 IndexerBolt 仅连接到一个索引。您可以为每个需要的索引声明一个 IndexerBolt,并根据主机元数据的值向风扇添加一个自定义螺栓,但这不是动态的,而是 heavy-handed。可能有一种方法可以使用 pipelines in ES,不确定。
我目前有一个成功的 StormCrawler 实例可以抓取大约 20 个站点,并将内容编入一个 Elasticsearch 索引。是否可以在 ES 中或通过 StormCrawler 将每个主机的内容发送到其自己唯一的内容索引?
出于好奇:你为什么需要这样做?每个主机有一个索引似乎相当浪费。如果您想为特定主机提供结果,您可以根据主机等字段过滤结果。
要回答您的问题,目前没有直接的方法可以做到这一点,因为 IndexerBolt 仅连接到一个索引。您可以为每个需要的索引声明一个 IndexerBolt,并根据主机元数据的值向风扇添加一个自定义螺栓,但这不是动态的,而是 heavy-handed。可能有一种方法可以使用 pipelines in ES,不确定。