//根究分类查询
public List searchCategoryList(Map searchMap){
List list=new ArrayList();
Query query = new SimpleQuery();
//分组查询不需要查询条件
Criteria criteria = new Criteria(“item_keywords”);
//条件
query.addCriteria(criteria);
GroupOptions groupOptions = new GroupOptions();
//分组
groupOptions.addGroupByField(“item_category”);
query.setGroupOptions(groupOptions);
//使用模板类
GroupPage page = solrTemplate.queryForGroupPage(query, TbItem.class);
//获取分类结果
GroupResult groupResult = page.getGroupResult(“item_category”);
//获取分组入口
Page<GroupEntry> groupEntries = groupResult.getGroupEntries();
//获取分组内容
List<GroupEntry> content = groupEntries.getContent();
for (GroupEntry<TbItem> entry : content) {
//将结果添加到集合
list.add(entry.getGroupValue());
}
return list;
}
相较于高亮查询根据getContent获取内容循环后拿取单个对象再塞给高亮集合后,再走几层寻找,
分组查询需要先找到分组结果,再找到分组入口,最后getcontent,再循环
建议用断点模式都看几遍,也记不住!