4.2 按上架时间排序
4.2.1 增加域定义
修改 solrhome 的 schema.xml 添加域定义
<field name="item_updatetime" type="date" indexed="true" stored="true" />
4.2.1 修改实体类
为 updatetime 属性添加注解
@Field("item_updatetime")
private Date updateTime;
4.2.1 重新运行导入程序
重新启动 solr
安装 pinyougou-pojo
重新运行 pinyougou-solr-util
4.2.2 修改页面
修改 search.html
<li>
<a href="#" ng-click="sortSearch('updatetime','DESC')">新品</a>
</li>
4.2 按销量排序(实现思路)
(1)增加域 item_salecount 用于存储每个 SKU 的销量数据
(2)编写定时器程序,用于更新每个 SKU 的销量数据(查询近 1 个月的销量数据,不是累计数据)
(3)定时器每天只需执行一次,可以设定为凌晨开始执行。定时器可以使用 spring task 技术来实现,学员们自行百度。
4.3 按评价排序(实现思路)
与按销量排序思路基本相同,有一个细节需要注意:
评论分为好评、中评、差评,我们不能简单地将评论数相加,而是应该根据每种评论加权进行统计。比如好评的权重是 3 ,中评的权重是 1,而差评的权重是 -3,这样得出的是评价的综合得分。
隐藏品牌列表
5.1 需求分析
需求:如果用户输入的是品牌的关键字,则隐藏品牌列表
5.2 代码实现
(1)修改 searchController.js
//判断关键字是不是品牌
$scope.keywordsIsBrand=function(){
for(var i=0;i<$scope.resultMap.brandList.length;i++){
if($scope.searchMap.keywords.indexOf($scope.resultMap.brandList[i].text)>=0){//
如果包含
}
}
}
(2)修改页面
< div class="type-wrap logo" ng-if="resultMap.brandList!=null&& searchMap.brand=='' &&
keywordsIsBrand()==false">
<div class="fl key brand">品牌</div>
.........
</div>
转载于:https://blog.51cto.com/13517854/2285325