黑马程序员技术交流社区
标题: 总结 [打印本页]
作者: 第三十六把刀 时间: 2019-8-14 14:54
标题: 总结
(1)后端使用匹配查询和布尔查询(2)前端使用thymeleaf模板渲染
(3)前端向后端传递map(因为提交的不仅仅是关键字,还有品牌、规格、分类等信息)
(4)后端向前端返回map(因为返回的不仅仅是列表,还有商品分类、品牌和规格列表等数据)
1.3 代码实现1.3.1 集成elasticsearch高级客户端(1)qingcheng_service_goods工程pom.xml新增依赖(2)qingcheng_service_goods工程新增工厂类(3)qingcheng_service_goods工程applicationContext-service.xml新增配1.3.2 关键字搜索逻辑
(1)qingcheng_interface工程新增接口 SkuSearchService 服务接口新增方法定义(2)qingcheng_service_goods工程新增服务实现类SkuSearchServiceImpl 实现此方法,实现关键字查询<ul class="yui3-g"> <li class="yui3-u-1-5" th:each="sku:${result.rows}"> <div class="list-wrap"> <div class="p-img"> <a href="item.html" target="_blank"><img th:src="${sku.image}" /></a> </div> <div class="price"> <strong> <em>¥</em> <i th:text="${#numbers.formatDecimal(sku.price/100.0,0,2)}"></i> </strong> </div> <div class="attr"> <em th:text="${sku.name}"></em> </div> <div class="operate"> <a href="success-cart.html" target="_blank" class="sui-btn btn-bordered btn-danger">加入购物车</a> <a href="javascript:void(0);" class="sui-btn btn-bordered">收藏</a> </div> </div> </li></ul>
点击商品分类,按商品分类对结果进行过滤查询,并且在查询条件列表中添加已经选择的商品分类标签,隐藏搜索面板中的商品分类一行。
点击条件标签的“×”,取消该过滤条件
2.2 实现思路(1)商品分类列表的显示使用聚合查询
(2)使用过滤查询//2.2 商品分类列表Aggregations aggregations = searchResponse.getAggregations();Map<String, Aggregation> aggregationMap = aggregations.getAsMap();Terms terms = (Terms) aggregationMap.get("sku_category");List<? extends Terms.Bucket> buckets = terms.getBuckets();List<String> categoryList=new ArrayList();for( Terms.Bucket bucket:buckets ){ categoryList.add(bucket.getKeyAsString());}resultMap.put("categoryList",categoryList);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |