在索引时合并来自不同来源的数据

Merging data from different sources at index time

我有两个文件爬虫作业 运行 分别使用 fscrawler(https://github.com/dadoonet/fscrawler) 处理彼此相关的数据。现在我想在索引时以某种方式将数据合并在一起(父子关系或平面文档都可以),因此需要一些中间件。查看 ES 5.0 中的 Logstash 和新的摄取节点功能,none 似乎支持编写自定义处理器。

是否有可能在索引时进行这种 merging/relational 映射?还是我必须改为进行 post-processing?

编辑:一项工作以 json 格式抓取 "articles"。文章可以有多个附件(在 json 的附件数组中声明),位于不同的位置。第二个作业抓取实际附件(例如 pdf...),对其应用 TIKA 处理。最后我想要一个文章类型,其中也包含附件的内容。

如果您将两个文档加载到不同的 ES 索引中,您可以使用 LS 输入来查找(尚未)包含附件内容的文章。对于这些文档,您可以查询其他 elasticsearch 索引(请参阅 LS 中的 elasticsearch{} 过滤器)并更新文章文档。