【问题标题】:Merging data from different sources at index time在索引时合并来自不同来源的数据
【发布时间】:2017-02-23 21:39:58
【问题描述】:

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

是否有可能在索引时进行这种合并/关系映射?还是我必须改为进行后处理?

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

【问题讨论】:

  • 您能否详细描述一下您的两个爬虫发送了什么样的数据以及您最终希望获得什么?
  • 问题已更新。
  • 这听起来不像是关于弹性搜索的问题 - 听起来您只需要一个从两个来源获取数据并从中构建文档的策略......
  • @Ant P 也许,但由于 Ingest Node 在索引之前对数据进行了预处理,我认为这个问题会是类似的。

标签: elasticsearch logstash fscrawler


【解决方案1】:

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

【讨论】:

  • 是的,看起来需要后期处理。不知道弹性搜索过滤器,谢谢!标记为答案。
猜你喜欢
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
相关资源
最近更新 更多