2014-02-24 58 views
-2

我正在从事JAVA, 假设我有一个文档,其中包含字段 “name”和“date”,我想索引字段日期和搜索date1和date2之间的所有文档 谁有解决方案吗?如何在LUCENE中的两个日期之间索引和搜索文档

+1

你应该澄清你的问题进行搜索。你的问题到底是什么? –

+0

@RomanKonoval我想知道如何索引日期字段以及如何搜索他们的日期在两个给定日期之间的文档 – user3182237

回答

1
  1. 您必须添加文件的日期为索引:

    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)); 
    
  2. 现在你可以使用RangeQuery

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