用lucene對時間索引後搜索的問題。

我的數據量比較大,故後臺採用一個線程專用於索引的建立。目前索引庫已經在700多M了,估計全部建立完成在1.5G左右。
每一個doc裏包括了一個field(sendtime,時間字符串,yyyy-mm-dd hh:MM:ss格式)

在前臺web進行搜索時。採用如下代碼
[code]
/**
* sendtime在date1與date2之間的數據
*/
if (startTime != null && (!"null".equalsIgnoreCase(startTime))
&& startTime.length() > 0 && endTime != null
&& (!"null".equalsIgnoreCase(endTime))
&& endTime.length() > 0) {
RangeQuery dateQuery = new RangeQuery(new Term("sendtime",
startTime), new Term("sendtime", endTime), true);
query.add(dateQuery, BooleanClause.Occur.MUST);
}
[/code]

此時有一個很奇怪的現象
如果從2007-01-12 23:59:59 TO 2007-01-13 23:59:59開始搜索就能查出大約4000條數據,其中包括2007-01-13 22點的數據約2000條。
如果從[2007-01-13 00:00:00 TO 2007-01-13 23:59:59]來查詢13號的數據,居然沒有。

有沒有哪位大xia遇到過類試的問題????
發佈了2 篇原創文章 · 獲贊 0 · 訪問量 2469
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章