Java 如何在LUCENE中索引和搜索两个日期之间的文档

Java 如何在LUCENE中索引和搜索两个日期之间的文档,java,lucene,Java,Lucene,我在研究JAVA, 假设我有一个带有字段的文档 “name”和“date”,我想索引字段date并搜索所有文档 在日期1和日期2之间 请问谁有解决办法 您必须将文档的日期添加到索引中: Date date = new Date(); Document doc = new Document(); doc.add(new Field("docDate", DateTools.timeToString(date, DateTools.Resolution.MINUTE), Field.Store.YE

我在研究JAVA, 假设我有一个带有字段的文档 “name”和“date”,我想索引字段date并搜索所有文档 在日期1和日期2之间 请问谁有解决办法

  • 您必须将文档的日期添加到索引中:

    Date date = new Date();
    Document doc = new Document();
    doc.add(new Field("docDate", DateTools.timeToString(date, DateTools.Resolution.MINUTE), Field.Store.YES, Field.Index.NOT_ANALYZED));
    
  • 现在您可以使用
    RangeQuery

    Query query = new TermRangeQuery("docDate", DateTools.timeToString(dateFrom, DateTools.Resolution.MINUTE), DateTools.timeToString(dateTo, DateTools.Resolution.MINUTE), true, true);
    

  • 你应该澄清你的问题。你到底有什么问题?@Romankonova我想知道如何为日期字段编制索引,以及如何搜索日期介于两个给定日期之间的文档