我是lucene(我正在使用JAVA)的新手,我试图阅读所有现有的答案,以便找到解决我的问题的方法。不幸的是我没有解决我的问题,所以我试着再次问你这个问题:
我有一个Date参数。我需要删除lucene索引中比Date参数更旧的所有文档。我该怎么做?我找到了一个方法isDeleted的解决方案,但不幸的是,目前已弃用。谢谢你的建议!
答案 0 :(得分:0)
您可以使用IndexWriter.DeleteDocuments
方法删除与任何查询匹配的所有文档,例如:
String dateString = DateTools.dateToString(myCutoffDate, DateTools.Resolution.DAY);
Query dateQuery = TermRangeQuery.newStringRange("dateField", null, dateString, false, false);
myIndexWriter.DeleteDocuments(dateQuery);