我有一个索引,其中包含带有日期时间对象“expirationDate”的数据。我想将这些文档设置为在该时间过去后自动删除吗?无论如何,还是我可以在elasticsearch中将其设置为每小时自动运行一次?

最佳答案

您需要为索引启用TTL(请参阅documentation),然后将_ttl字段添加到包含毫秒数到expirationDate的文档中。

当然,每当_ttl更改时,您都需要记住更新expirationDate字段。

(我能想到的)将文档设置为在特定时间到期的唯一方法绝对是hacky。您可以将 _timestamp 路径配置为指向expirationDate字段,并将_ttl设置为1毫秒。它可以工作,但对我来说听起来有点像“滥用功能”。

10-08 13:58