如何从Java API中删除所有X天旧文档?

时间:2014-02-25 10:25:25

标签: elasticsearch bulk

修改

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

END OF EDIT

我们的代码使用ElasticSearch对来自查询的结果进行索引。我们希望每天运行一次清理工作来删除所有旧文档。我们目前通过调用外部脚本来实现这一目标,但是为了减少依赖关系,我们希望从Java中做到这一点。

我无法弄清楚如何使用API​​查询旧文档...线索,帮助?

2 个答案:

答案 0 :(得分:3)

如果删除已存储一段时间的文档,则可以设置TTL(生存时间)参数,并在此时间结束后设置文档删除位设置标志。见here。希望这是你可以考虑的另一种选择。

<强>更新

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

答案 1 :(得分:0)