博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache Solr facet 分组查询
阅读量:5944 次
发布时间:2019-06-19

本文共 1217 字,大约阅读时间需要 4 分钟。

介绍一下Solr的分组查询方式:

public static Map
queryByGroup(String qStr,String groupField,String sortField,boolean asc,Integer pageSize,Integer pageNum){
Map
rmap = new LinkedHashMap
(); try {
SolrServer server = getSolrServer();//getSolrServer() 方法就是返回一个CommonsHttpSolrServer SolrQuery query = new SolrQuery(); if(qStr!=null&&qStr.length()>0) query.setQuery(qStr); else query.setQuery("*:*");//如果没有查询语句,必须这么写,否则会报异常 query.setIncludeScore(false);//是否按每组数量高低排序 query.setFacet(true);//是否分组查询 query.setRows(0);//设置返回结果条数,如果你时分组查询,你就设置为0 query.addFacetField(groupField);//增加分组字段 query.setFacetSort(true);//分组是否排序 query.setFacetLimit(pageSize);//限制每次返回结果数 query.setSortField(sortField,asc ? SolrQuery.ORDER.asc :SolrQuery.ORDER.desc );//分组排序字段 query.set(FacetParams.FACET_OFFSET,(pageNum-1)*pageSize);//当前结果起始位置 QueryResponse rsp = server.query( query ); List
countList = rsp.getFacetField(groupField).getValues(); List
returnList = new ArrayList
(); if(pageNum*pageSize
0) rmap.put(count.getName(), (int) count.getCount()); } } catch (Exception e) { e.printStackTrace(); } return rmap; }

 

转载地址:http://yvwxx.baihongyu.com/

你可能感兴趣的文章
shell中while循环里使用ssh的注意事项
查看>>
SHELL获取计算机外网ip的几种写法
查看>>
博客正在搬迁中
查看>>
触发器与存储过程的区别
查看>>
我的友情链接
查看>>
centos搭建supervisor
查看>>
linux日志分割
查看>>
我的友情链接
查看>>
Spring学习资料之 依赖注入(一)
查看>>
安装win7提示安装程序无法创建新的系统分区和定位现有系统分区
查看>>
快递查询接口的调用与解析案例
查看>>
我的友情链接
查看>>
服务器性能优化配置建议
查看>>
oracle sql语句实现累加、累减、累乘、累除
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
接口由40秒到200ms优化记录
查看>>
java 视频播放 多人及时弹幕技术 代码生成器 websocket springmvc mybatis SSM
查看>>
Activiti6.0,spring5,SSM,工作流引擎,OA
查看>>
第十三章:SpringCloud Config Client的配置
查看>>
使用 GPUImage 实现一个简单相机
查看>>