首先对查询的时间段进行过滤
RangeQuery querybetween = new RangeQuery(begintime, endtime, true);
然后对对关键词进行过滤
Query queryfield = QueryParser.parse(searchStr, mapkey, new StandardAnalyzer());
最后把所有的条件组合起来
BooleanQuery query = new BooleanQuery();
query.add(querybetween, true, false);// 必须满足
query.add(queryfield, true, false);// 必须满足
加入排序规则
Hits hits = searcher.search(query, sort);// 开始进行搜索
就这样实现了完整的搜索