elasticsearch 避免从Cassandra提取的数据重复,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 避免从Cassandra提取的数据重复,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 避免从Cassandra提取的数据重复

elasticsearch 避免从Cassandra提取的数据重复,elasticsearch,logstash,elasticsearch,Logstash,背景:我从varius日志文件和Cassandra表格中获取信息。日志文件很好,但是从表中获取的结果在elasticsearch中是重复的,因为自从sql\u上次运行以来,我无法添加行。 如何避免行重复?避免重复的一种方法是通过计算原始日志行的SHA或MD5来创建自己的文档ID 这样,即使重复读取相同的日志行,也将始终生成相同的ID,并且您将不再获得任何重复的文档 另一种解决方案是在表中创建另一个具有唯一GUID的列,并将该值用作文档ID。我有几种文档类型,但只能对其中一种进行此操作。是否可以将

背景:我从varius日志文件和Cassandra表格中获取信息。日志文件很好,但是从表中获取的结果在elasticsearch中是重复的,因为自从sql\u上次运行以来,我无法添加行。
如何避免行重复?

避免重复的一种方法是通过计算原始日志行的SHA或MD5来创建自己的文档ID

这样,即使重复读取相同的日志行,也将始终生成相同的ID,并且您将不再获得任何重复的文档


另一种解决方案是在表中创建另一个具有唯一GUID的列,并将该值用作文档ID。

我有几种文档类型,但只能对其中一种进行此操作。是否可以将自定义文档id仅应用于该特定类型,而保留其他类型的默认文档id?我想,这取决于加载管道的外观。你在用什么工具?看起来您使用的是ES JDBC加载器,对吗?您使用的是JDBC logstash输入插件。在logstash输出配置中为该cassandra类型使用了if大小写,并在其中添加了文档id。这就解决了问题。谢谢太好了,很高兴你明白了。