我有两个实时流。一个包含新闻文章,其他包含有关同一文章的评论。除了标题,我想在每篇文章和该文章评论之间创建父子关系。没有通用的ID。我想使用两个流中都存在的标题,并根据每15分钟匹配两个流。我假设15分钟足以处理两个流之间的延迟。您将如何去做?任何想法将不胜感激。
通过Logstash发送的包含实体名称,源名称和标题的典型消息如下所示:
“汤姆森路透社”,“今日日本”,“特朗普在赢得胜利后 迫使北约进行危机谈判”
一些典型的评论,评论,标题通过Logstash发出,但单独的管道如下所示:
“我们赞扬特朗普的主张……”,“特朗普在强迫北约危机谈判后主张胜利”
“北约危机很重要...”,“特朗普在迫使北约危机谈判后要求胜利”
具体来说: 1.将索引分开还是用前两个索引创建第三个索引? 2.如何运行15分钟的刷新周期? 3.如果有更好的方法/工具/数据存储,请告知。
答案 0 :(得分:0)
您可以通过散列标题(假设您从未观察过错字)在评论和文章之间创建一个通用ID。
是的,将文章和评论保留在单独的索引中。 参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html
需要更多细节来匹配流。不知道是否有一种使用Elasticsearch Task API安排作业的方法...也许做一个cronjob来做到这一点?您可以浏览文章索引,对标题进行散列,然后在评论索引中查询该散列。
似乎您现在有了可靠的存储方法。