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

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;  
    }

降序结果页面

升序结果页面

分享到:
评论

相关推荐

    c++ 面试题 总结

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

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

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

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

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

    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系统调优解决方案

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

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

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

    12306的数据库设计.pdf

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

    GV32-CMS企业建站系统v4.3.1

    友情链接:添加LOGO链接,添加文字链接,链接有效期、设置自助申请友情链接、编辑自助申请说明,链接排序、链接备注、链接分类、分类添加、分类修改、分类删除。 模板设置:选择模板、模板在线选择性编辑。 留言反馈...

    UCenter Home v2.0 繁体中文UTF-8.zip

    站长可以自由调节首页显示热度数目、发表的时间范围,特定信息的热度等来控制站内的热点信息传播。 表态 新增的表态功能,让用户动动鼠标,就能参与互动,人与人的沟通变得更加快捷; 日志、图片、话题等基础应用...

Global site tag (gtag.js) - Google Analytics