solr group分组排序的问题

我想查询一组数据,这个数据需要分组,我想让分组后的数据按照分组数量升序或者降序排列,如果按照结果中的组数量进行排序呢,//------------分组设置//q=solr... 我想查询一组数据,这个数据需要分组,我想让分组后的数据按照分组数量升序或者降序排列,如果按照结果中的组数量进行排序呢,
// ------------ 分组设置
//q=solr+memory&group=true&group.field=manu_exact
params.setParam(GroupParams.GROUP,true);
params.setParam(GroupParams.GROUP_FIELD,"alias");//这里是分组

params.setParam(GroupParams.GROUP_SORT, "id desc");//现在排序好像只能按照已有的字段进行排序,如果按照组数量进行排序呢?

排序该怎么写

QueryResponse response = solr.query(params);
GroupResponse groups = response.getGroupResponse();
展开
 我来答
匿名用户
推荐于2017-11-22
展开全部
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*pageSize0)
rmap.put(count.getName(),(int) count.getCount());
}
} catch (Exception e) {
e.printStackTrace();
}
return rmap;
}
追问
这个里面好像没有我要的答案
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柯碧琴002
2019-09-25 · TA获得超过1227个赞
知道小有建树答主
回答量:1679
采纳率:100%
帮助的人:7.5万
展开全部
没看懂什么意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式