分析需求
1.通过spring data solr提供的分组查询完成商品分类列表的查询
2.将品牌数据和规格数据进行缓存(后台操作),从缓存数据中读取数据显示在面板上
3.查询面板的条件构建与撤消操作是前端来负责做这件事(angularJS处理)
4.spring data solr的过滤功能
实现过程
下面的分析主要体现在其后台的数据怎么获取,怎么实现的具体实现的细节来实现的,而且是重点的讲解的是其思想,像前端的展示和solrTemplate的具体的api的调用,就不在详解,后台程序员就做点本职工作嘛,嘿嘿
数据流和数据建模分析
正如建哥语重心肠的讲到一般高手都是玩数据流的,哈哈,咱也不是高手,那怎么就从数据流入手,明白咱们前台需要展示什么数据,咱们后台写实现就完了,经过分析就是一个map集合,里面对应了不同添加的key和value信息,比如品牌信息,规格信息之类的
商品分类的实现
这里主要是通过solr里面的solrTemplate的分组方法实现其相关的分组信息,这里菜鸡就不多讲了,直接贴出代码,具体实现是相关api的调用,我反正自己手写不出来,哈哈
//根据指定搜索关键字,获取对应分类 分组查询(商品分类列表)
private List searchCategoryList(Map searchMap){
List listReturn=new ArrayList();
//1、创建查询器对象
SimpleQuery query = new SimpleQuery();
//2、创建查询条件对象
Criteria criteria = new Criteria("item_keywords").is(searchMap.get("keywords"));
query.addCriteria(criteria);
//3、设置分组字段 分组配置项对象
GroupOptions groupOptions = new GroupOptions().addGroupByF