繁体   English   中英

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

[英]How to delete old documents from lucene index (filter by Date parameter)

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

我有一个Date参数。 我需要删除Lucene索引中早于该Date参数的所有文档。 我该怎么做? 我发现了一种使用isDeleted方法的解决方案,但是不幸的是,目前不推荐使用。 感谢您的建议!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM