elasticsearch - 如何从Java API删除所有X天的旧文档?

标签 elasticsearch bulk

编辑:

为了澄清,问题是“如何为X天前的文档编写查询,以便可以删除它们”。

结束编辑

我们的代码索引是使用ElasticSearch查询的结果。我们希望每天执行一次清理作业,以删除所有旧文档。目前,我们是通过调用外部脚本来实现的,但是为了减少依赖关系,我们希望使用Java来实现。

我不知道如何使用API​​查询旧文档...线索,帮助吗?

最佳答案

如果删除已存储一定时间的文档,则可以设置TTL(生存时间)参数,一旦此时间设置,就设置文档删除位设置标志。参见here。希望这是您可以考虑的替代方法。

更新

"query":{
  "match_all": {}
},
"filter":{
  range:{
   "field":{
     lte: 20140225,
     gte: 20140201
    } 
  }
}

关于elasticsearch - 如何从Java API删除所有X天的旧文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22011301/

相关文章:

elasticsearch - 扫描并滚动 Spring 数据elasticsearch 3

c# - 使用 C# 从 sendgrid 发送计划电子邮件

sql-server-2005 - SQL Server 2005 中的死锁!两个实时批量更新正在战斗。为什么?

java - 通过 Spring/Hibernate 批量插入需要 id 的地方

.net - 使用Elasticsearch.net或PlainElastic.net批量插入Elasticsearch

csv - SQL 2012 FileTable中存储的150MB CSV文件-如何查询要插入表中的数据

elasticsearch - 使用嵌套和根级别数据的Elasticsearch嵌套聚合比率

elasticsearch - 如何在 ElasticSearch 的字段中搜索 "OR"单词?

elasticsearch - ELK登录微服务架构

geolocation - ElasticSearch——使用距点的距离影响查询相关性