2014-02-24 88 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);