我有一个索引,其中包含带有日期时间对象“expirationDate”的数据。我想将这些文档设置为在该时间过去后自动删除吗?无论如何,还是我可以在elasticsearch中将其设置为每小时自动运行一次?
最佳答案
您需要为索引启用TTL(请参阅documentation),然后将_ttl
字段添加到包含毫秒数到expirationDate
的文档中。
当然,每当_ttl
更改时,您都需要记住更新expirationDate
字段。
(我能想到的)将文档设置为在特定时间到期的唯一方法绝对是hacky。您可以将 _timestamp
路径配置为指向expirationDate
字段,并将_ttl
设置为1毫秒。它可以工作,但对我来说听起来有点像“滥用功能”。