如何从lucene索引中删除旧文档(按Date参数过滤)

时间:2016-01-27 17:31:42

标签: java indexing lucene documents

我是lucene(我正在使用JAVA)的新手,我试图阅读所有现有的答案,以便找到解决我的问题的方法。不幸的是我没有解决我的问题,所以我试着再次问你这个问题:

我有一个Date参数。我需要删除lucene索引中比Date参数更旧的所有文档。我该怎么做?我找到了一个方法isDeleted的解决方案,但不幸的是,目前已弃用。谢谢你的建议!

1 个答案:

答案 0 :(得分:0)

您可以使用IndexWriter.DeleteDocuments方法删除与任何查询匹配的所有文档,例如:

String dateString = DateTools.dateToString(myCutoffDate, DateTools.Resolution.DAY);
Query dateQuery = TermRangeQuery.newStringRange("dateField", null, dateString, false, false);
myIndexWriter.DeleteDocuments(dateQuery);