打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
lucene3.0范围查找TermRangeQuery | 亲亲宝宝
在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 。
英文原文:
public TermRangeQuery(String field,

                      String lowerTerm,

                      String upperTerm,

                      boolean includeLower,

                      boolean includeUpper)

Constructs a query selecting all terms greater/equal than lowerTerm but less/equal than upperTerm.

If an endpoint is null, it is said to be "open". Either or both endpoints may be open. Open endpoints may not be exclusive (you can’t select all but the first or last term without explicitly specifying the term to exclude.)

Parameters:

field – The field that holds both lower and upper terms.

lowerTerm – The term text at the lower end of the range

upperTerm – The term text at the upper end of the range

includeLower – If true, the lowerTerm is included in the range.

includeUpper – If true, the upperTerm is included in the range.

 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Lucene(3.5) 的几个查询
Lucene搜索方法总结 - Java综合 - Java - ITeye论坛
Lucene学习笔记
Inside Lucene/超人气搜索引擎学习(1)
lucene搜索引擎技术的分析与整理
lucene--过滤器- 对搜索结果进行过滤
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服