`
chuan9966
  • 浏览: 47034 次
文章分类
社区版块
存档分类
最新评论

2013-07-08期-范围查询及结果排序

 
阅读更多

调整了SearchAction.java代码

    public String searcheContent() throws Exception {  
        searcheResult =  new ArrayList<ContentObject>();
        try{
            //当查询条件不存在时,查询数据库
            if(StringUtils.isEmpty(keyWord)){
                searcheResult = contentService.getContentList();
                return SUCCESS;
            }
            Version v = Version.LUCENE_43;
            //取得查询对象
            IndexReader[] readers =  SearchObject.getInstance().getSearcherReads();
            MultiReader mReaders = new MultiReader(readers);
            IndexSearcher indexSearch = new  IndexSearcher(mReaders);
            Analyzer analyzer =new StandardAnalyzer(v);
            //创建boolean查询
            BooleanQuery query = new BooleanQuery();
            String[] field = { "title", "content"};
            BooleanClause.Occur[] flags = new BooleanClause.Occur[2];
            flags[0] = BooleanClause.Occur.SHOULD;
            flags[1] = BooleanClause.Occur.SHOULD;
            Query query1 = MultiFieldQueryParser.parse(v, QueryParser.escape(keyWord), field, flags, analyzer);
            //query.add(query1, Occur.MUST);

            //日期范围查询
            Calendar calendar = Calendar.getInstance();
            //查询两个月以内的数据
            calendar.add(Calendar.DAY_OF_MONTH, -60);
            Date lastMonth = calendar.getTime();
            query.add(NumericRangeQuery.newLongRange("createDate", lastMonth.getTime(), new Date().getTime(), true, true), Occur.MUST);
            //根据ID范围查询
            //query.add(NumericRangeQuery.newIntRange("id", 0, 20, true, true), Occur.MUST);
            //true为降序,false为升序
            SortField field1 = new SortField("createDate", SortField.Type.LONG,true); 
            Sort sort = new Sort(field1);
            //取得查询结果
            TopDocs topDocs =   indexSearch.search(query,100000, sort);  

            //TopScoreDocCollector topCollector = TopScoreDocCollector.create(10000, true,sort);
           // indexSearch.search(query, topCollector); 
           // TopDocs topDocs = topCollector.topDocs(); 
            int resultCount=topDocs.totalHits;
            for(int i=0;i<resultCount;i++){
                Document doc = indexSearch.doc(topDocs.scoreDocs[i].doc);
                //转换Document对象为内容对象
                //ContentObject content = PackContentObject.convertDocToContent(doc);
                ContentObject content = PackContentObject.convertDocToContent(doc, query1, analyzer);
                //加入到结果列表 返回给前台页面获取
                searcheResult.add(content);
            }
        }catch(Exception e){
            e.printStackTrace();
        }

       return SUCCESS;  
    }

降序结果页面

升序结果页面

分享到:
评论

相关推荐

    模拟彩票系统,产生每一期的中奖号码

    内容概要: 彩票大乐透分为红球和蓝球 每注由6个蓝球和1个红球组成。 蓝球号码范围(1---33)(包含1和33) 红球号码范围(1---16)(包含1和16) ...⑤ 使用Arrays工具类调用排序的方法(Arrays.sort(数组名))

    c++ 面试题 总结

    这种是地址及指向对象都不能修改。 -------------------------------------------------------------------------- 6.下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么? int n; if (n == 10) // 第一...

    生命周期企业生命周期计算Stata代码(李冬伟文献)(附2000-2022年数据和结果)

    企业生命周期 其他版本 ...标志值在0~3范围为成长期,4~6范围为成熟期,7~10范围为衰退期。加总后的得 分考虑了各单变量的相互作用,根据4个特征差异成功确定了企业生命周期。 参考文献 李冬伟, 李建良

    EAS总账应用问题集2013

    78现金流量查询结果出错导致 43 79现金流量项目指定问题 43 710现金流量表主表与附表经营活动现金流量净额不一致 43 711附表指定中,对一级科目无法取消指定 44 8.多账薄与其他 44 81主副账簿本位币不一致时,如何...

    SQL培训第一期

    rownum序号,返回查询结果的每行序号。系统时间sysdate,返回系统当前时间。 2.1.4.2 伪表 select * from dual; 2.1.5 系统表 2.1.5.1 user_tables 当前用户表信息 2.1.5.2 user_tab_columns 当前用户表所有列信息,...

    北邮2021C语言航空售票系统.zip

    可用起飞时间段、航空公司、舱位、机型等过滤查询结果根据起飞时间排序所有航班; 同一航班因为有不同舱位等级,可能有不同价格,根据航班的最低价格排序所有航班,但每个航班的不同舱位价格都应显示出来; 查询之后...

    里诺图书室管理系统软件2019破解版

    系统查询中主要包括书库查询、读者查询、借书查询、还书查询、到期读者查询、超期读者查询,所有查询均可按照任意字段进行模糊查询,对查询结果可按任意字段进行升、降排序,报表打印;系统设置中主要包括图书馆名称...

    电子商务商城网站代码

    根据关键字 名称 ,类别 商品编码 价格范围及说明进行关联查询 订单查询 根据定单号查询此订单详细信息 易想商城会员中心 一级栏目:我是买家 我是卖家 基本信息:会员头像,会员名字,会员等级,积分,我的...

    ComponentOne Studio For ActiveX 2010 Vol1 cracked

    续费 - 在您的按需付费期截止时,您可以继续使用在您的付费期有效时发布的构件。 您可以继续开发并分发采用ComponentOne Studio for ActiveX产品创建的应用程序。 如果您想继续下载新的更新、升级和产品,需要续费...

    韵脚大全 v6.6.rar

    07、文章排序方式改为pr值排序,数值越大排名越靠前 2011.05.26 【v5.4】 01、《韵脚大全》字库调整窗体底部增加操作提示信息 02、《韵脚大全》菜单“扩展”处新增“字库调整”方便调用 03、《韵脚...

    仿土巴兔源码仿土巴兔源码

    有效期:推荐位的有效期,设置有效期之后,过期会取消推荐。 排序:同一城市、同一位置推荐内容的排列顺序(正序排序),有时需要将出价高的商家排列到推荐位的首位,可以通过这个排序进行控制。 4)填写完毕后...

    高性能MySQL(第3版).part2

    4.1.4日期和时间类型121 4.1.5位数据类型123 4.1.6选择标识符(identifier)125 4.1.7特殊类型数据127 4.2MySQLschema设计中的陷阱127 4.3范式和反范式129 4.3.1范式的优点和缺点130 4.3.2反范式的优点和缺点...

    数据分析方法.docx

    6、动态分析 动态分析法是根据在一段时间内的数据变化,通过计算各种动态分析指标来描述现象发展变化的过程和结果,进而揭示现象发展变化的速度、趋势及规律性,并依此可对现象未来发展做出预测的统计分析方法。...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    求多个整数的和及平均值 82 复合赋值运算符 84 后置递增运算符和后置递减运算符 85 4-2 while语句 87 while语句 87 用递减运算符简化程序代码 88 数据递增 90 限定次数的循环操作 91 字符常量和putchar函数...

    SQL Server系统调优解决方案

    例如:如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中...

    医疗质量管理综合评价方法比较.pdf

    本研究通过对Rit法、TOPSIS法和综合指数法进行比较,从定义、优缺点、应用范围及实例等四个方面进行分析。 一、定义 Rit法是一种用于医疗质量评价的方法,通过一定形式的转换,将等级分组数据转变为连续性计量数据...

    项目管理P6操作文档 使用于初次接触P6项目管理软件者

    项目时间管理作业定义、作业排序 作业资源估算 、 作业工 进度控制 作业资源估算 作业工 期估算、制定进度表 项目成本管理成本估算、成本预算成本控制 项目质量管理质量计划编制质量保证质量控制 人力资源管理人力...

    基于分时电价的电动汽车多目标优化充电策略.pdf

    2. 分时电价:分时电价是指根据电力系统的实时需求和电力供应情况,动态调整电价的机制,以鼓励电力用户在非峰期使用电力。 3. 多目标优化:多目标优化是指同时考虑多个目标函数的优化问题,旨在找到一个满足所有...

    12306的数据库设计.pdf

    12306的数据库设计 原⽂地址:http://blog.csdn.net/hnkontecna/article/details/61672983 标签 标签 PostgreSQL , 12306 , 春节 , ⼀票难求 , 门禁⼴告 , 数组 , 范围类型 , 抢购 , 排他约束 , ⼤盘分析 , ⼴告查询 ...

Global site tag (gtag.js) - Google Analytics