Lucene3 SortField的问题

整理一个之前工作中遇到的问题。

 

在查询lucene索引时,需要按记录的时间倒序排序。于是加了以下代码:

Sort sort = new Sort(new SortField("mtime", SortField.LONG, true));
TopDocs topDocs=indexSearcher.search(query, null, 100,sort);

  测试时发现排序没起作用。搞了半天也没找到原因。后将mtime换成了id,发现可以了。

感觉可能是没有对mtime进行索引的原因。再修改索引程序,将mtime索引,如下:

new Field("mtime", String.valueOf(rs.getDate("MTIME").getTime()), Store.YES, Index.NOT_ANALYZED)
 新的索引可以按mtime排序了。

 

你可能感兴趣的:(工作,Lucene)