0
我有一個桌面應用程序, 實現了用於數據庫搜索的lucene 3.6.2搜索引擎 。 數據庫包含日期和字符數據類型爲 的列 。某些列還可以包含空字段。 Datetools也使用Lucene的 到日期轉換爲字符串 分析但是看起來當Lucene是不是 能夠從 日期列添加空字段到文檔容器 進行分析等。具有空字段的Lucene文檔容器
我提出下面的代碼片斷:
doc = new Document();
if(rs.getDate("DATE_OF_LETTER")== null)
{ doc.add(new Field("date_of_letter","",Field.Store.YES,Field.Index.ANALYZED)); }
else {
doc.add(new Field("date_of_letter",DateTools.dateToString(rs.getDate("DATE_OF_LETTER"),
DateTools.Resolution.DAY),Field.Store.YES,Field.Index.ANALYZED));
}
if(rs.getDate("DATE_RECEIVED")== null)
{ doc.add(new Field("date_received","",Field.Store.YES,Field.Index.ANALYZED)); }
else {
doc.add(new Field("date_received",DateTools.dateToString(rs.getDate("DATE_RECEIVED"),
DateTools.Resolution.DAY),Field.Store.YES,Field.Index.ANALYZED));
}
if(rs.getString("REMARKS")== null)
{ doc.add(new Field("remarks","",Field.Store.YES,Field.Index.ANALYZED)); }
else {
doc.add(new Field("remarks",rs.getString("REMARKS"),Field.Store.YES,Field.Index.ANALYZED)); }
if(rs.getDate("DATE_DISPATCHED")== null)
{ doc.add(new Field("date_dispatched","",Field.Store.YES,Field.Index.ANALYZED)); }
else {
doc.add(new Field("date_dispatched",DateTools.dateToString(rs.getDate("DATE_DISPATCHED"),
DateTools.Resolution.MINUTE),Field.Store.YES,Field.Index.ANALYZED));
}
}
iw.addDocument(doc);
}
}
任何建議。
您是否收到任何錯誤或者當您檢查索引後字段值只是null? –
即使存在命中但我仍未在netbeans控制檯上收到錯誤,但lucene不會返回任何結果。並請如何檢查索引,請對lucene有所瞭解 – CodeAngel
有一種工具可以檢查索引:http://www.getopt.org/luke/ - 查看它並檢查是否設置了字段在lucene索引中。 –