elasticsearch 使用Elasticsearch存储历史数据,elasticsearch,reindex,elasticsearch,Reindex" /> elasticsearch 使用Elasticsearch存储历史数据,elasticsearch,reindex,elasticsearch,Reindex" />

elasticsearch 使用Elasticsearch存储历史数据

elasticsearch 使用Elasticsearch存储历史数据,elasticsearch,reindex,elasticsearch,Reindex,我有一个索引,我想随着时间的推移跟踪元素的子集。我可以用大部分的方法得到我想要的 但是,我找不到更改_id的方法,因为我的数据通常是不变的,这会导致问题。reindex并不是每次都运行,因为我认为ID是相同的 一种解决方案是创建一个基于时间的索引。这是最好的解决方案吗?还有其他人解决了这个问题吗。我只是想仔细检查一下,看看是否有不同的方法 作为一个卡通化的例子,因为我的数据实际上是非常停滞的,让我们假设我正在跟踪我院子里的树木-类型、高度、半径、名称。我只会在其中一个字段更改时更改此字段,并提示

我有一个索引,我想随着时间的推移跟踪元素的子集。我可以用大部分的方法得到我想要的

但是,我找不到更改_id的方法,因为我的数据通常是不变的,这会导致问题。reindex并不是每次都运行,因为我认为ID是相同的

一种解决方案是创建一个基于时间的索引。这是最好的解决方案吗?还有其他人解决了这个问题吗。我只是想仔细检查一下,看看是否有不同的方法

作为一个卡通化的例子,因为我的数据实际上是非常停滞的,让我们假设我正在跟踪我院子里的树木-类型、高度、半径、名称。我只会在其中一个字段更改时更改此字段,并提示一个新id。但每天午夜,我都需要一个重新索引,这样我就可以看到树的高度在一年中的变化


另外,我不能使用标签历史记录,因为我缺少代表,如果有人对此有建议,以便我能更好地了解,请让我知道

在我看来,您需要有一种不同的方法来识别“树”:要么您自己控制
\u id
并分配id,要么为某种不同的id使用一个单独的字段。其次,您的文档需要有一个时间戳,并且,根据您拥有的数据量,使用基于时间的索引,并在旧索引过大时创建新索引。或者使用Elasticsearch为您执行此操作。然后你可以使用Timelion Kibana插件或Kibana本身来查看数据。谢谢Andrei。。。是的,现在我正在试验reindex并将路由设置为时间戳。我们有自己的自制方式来显示存储在elasticsearch中的结果,这促使人们渴望在一个索引中显示历史数据,而不是在多个索引中显示历史数据。但如果不是这样,Kibana将是显示结果的一个很好的方式。我很犹豫是否发布这个答案,因为我想进行更多的测试-但似乎添加具有唯一值的类型可以让我做我想做的事情。也就是说,只要类型是唯一的,就让具有相同id的相同数据多次进入一个索引(每次我拍摄快照)。一旦我测试了更多,我会把这个作为答案,如果它真的是那样的话。