当前位置: 代码迷 >> 综合 >> lucene3.0范围查找TermRangeQuery
  详细解决方案

lucene3.0范围查找TermRangeQuery

热度:96   发布时间:2023-12-21 19:18:51.0

在lucene3.0中,范围查询也有很大的变化,RangeQuery已经不推荐使用,使用TermRangeQuery和NumericRangeQuery两个替代。

TermRangeQuery:主要用于文本范围查找;

 

IndexReader reader = IndexReader.open(FSDirectory.open(INDEX_DIR), true); // only searching,Searcher searcher = new IndexSearcher(reader);String field = "starttime";TermRangeQuery query = new TermRangeQuery(field, "2009年01月01日","2009年01月05日",true,true);ScoreDoc[] hits = searcher.search(query, null, topnum).scoreDocs;
 

 

NumericRangeQuery:要使用它,首先要使用NumericField 给数字建索引(当然这个的term就是数字的了)。如果你的term是文本,那就是使用TermRangeQuery 。