【问题标题】:How to delete old documents from lucene index (filter by Date parameter)如何从 lucene 索引中删除旧文档(按日期参数过滤)
【发布时间】:2016-01-27 17:31:41
【问题描述】:

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

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

【问题讨论】:

    标签: java indexing lucene documents


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多