学习品优购总结[十一](搜索解决方案-Solr三)

按价格过滤

if(!"".equals(searchMap.get("price"))){
	String[] price = ((String) searchMap.get("price")).split("-");
	if(!price[0].equals("0")){//如果区间起点不等于0
		Criteria filterCriteria=new Criteria("item_price").greaterThanEqual(price[0]);
		FilterQuery filterQuery=new SimpleFilterQuery(filterCriteria);
		query.addFilterQuery(filterQuery);				
	}		
	if(!price[1].equals("*")){//如果区间终点不等于*
		Criteria filterCriteria=new  Criteria("item_price").lessThanEqual(price[1]);
		FilterQuery filterQuery=new SimpleFilterQuery(filterCriteria);
		query.addFilterQuery(filterQuery);				
	}
}		

多关键字搜索和空格处理

	    String keywords = (String) searchMap.get("keywords");
		searchMap.put("keywords", keywords.replace(" ", ""));

价格的升降序

后端代码:

	    String sortValue= (String) searchMap.get("sort");//ASC  DESC  
		String sortField= (String) searchMap.get("sortField");//排序字段
		if(sortValue!=null && !sortValue.equals("")){  
			if(sortValue.equals("ASC")){
				Sort sort=new Sort(Sort.Direction.ASC, "item_"+sortField);
				query.addSort(sort);
			}
			if(sortValue.equals("DESC")){		
				Sort sort=new Sort(Sort.Direction.DESC, "item_"+sortField);
				query.addSort(sort);
			}			
		}

前端代码:

	    <li>
			<a href="#" ng-click="sortSearch('price','ASC')">价格↑</a>
		</li>
		<li>
			<a href="#" ng-click="sortSearch('price','DESC')">价格↓</a>
		</li>

按上架时间排序

1.给实体类上加注解:

	    @Field("item_updatetime")
	    private Date updateTime;
	    <li>
	    	<a href="#" ng-click="sortSearch('updatetime','DESC')">新品</a>
	    </li>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值