...
|
...
|
@@ -8,6 +8,7 @@ import java.util.Set; |
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
|
|
|
import com.yoho.search.base.utils.ProductIndexEsField;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
import org.elasticsearch.search.sort.FieldSortBuilder;
|
...
|
...
|
@@ -30,57 +31,63 @@ public class SearchSortHelper { |
|
|
|
|
|
@PostConstruct
|
|
|
private void init() {
|
|
|
|
|
|
//默认
|
|
|
orderValues.add("_score:desc");
|
|
|
orderValues.add("_score:asc");
|
|
|
|
|
|
orderValues.add("id:desc");
|
|
|
orderValues.add("id:asc");
|
|
|
|
|
|
// 假上新时间
|
|
|
orderValues.add("shelve_time:desc");
|
|
|
orderValues.add("shelve_time:asc");
|
|
|
|
|
|
// 真上新时间
|
|
|
// 新品
|
|
|
orderValues.add("first_shelve_time:desc");
|
|
|
orderValues.add("first_shelve_time:asc");
|
|
|
|
|
|
//价格
|
|
|
orderValues.add("sales_price:asc");
|
|
|
orderValues.add("sales_price:desc");
|
|
|
|
|
|
//折扣
|
|
|
orderValues.add("discount:desc");
|
|
|
orderValues.add("discount:asc");
|
|
|
|
|
|
orderValues.add("product_skn:desc");
|
|
|
orderValues.add("product_skn:asc");
|
|
|
//人气
|
|
|
orderValues.add("heatValue:asc");
|
|
|
orderValues.add("heatValue:desc");
|
|
|
|
|
|
//品牌或店铺
|
|
|
orderValues.add("brand_weight:asc");
|
|
|
orderValues.add("brand_weight:desc");
|
|
|
orderValues.add("shop_weight:asc");
|
|
|
orderValues.add("shop_weight:desc");
|
|
|
|
|
|
//销量
|
|
|
orderValues.add("sales_num:asc");
|
|
|
orderValues.add("sales_num:desc");
|
|
|
|
|
|
//库存
|
|
|
orderValues.add("storageNum:desc");
|
|
|
orderValues.add("storageNum:asc");
|
|
|
|
|
|
orderValues.add("discount_score:desc");
|
|
|
orderValues.add("discount_score:asc");
|
|
|
|
|
|
orderValues.add("pools.id:desc");
|
|
|
orderValues.add("pools.id:asc");
|
|
|
// 假上新时间
|
|
|
orderValues.add("shelve_time:desc");
|
|
|
orderValues.add("shelve_time:asc");
|
|
|
|
|
|
orderValues.add("pools.sort:desc");
|
|
|
orderValues.add("pools.sort:asc");
|
|
|
orderValues.add("id:desc");
|
|
|
orderValues.add("id:asc");
|
|
|
orderValues.add("product_skn:desc");
|
|
|
orderValues.add("product_skn:asc");
|
|
|
|
|
|
orderValues.add("brand_weight:asc");
|
|
|
orderValues.add("brand_weight:desc");
|
|
|
//orderValues.add("discount_score:desc");
|
|
|
//orderValues.add("discount_score:asc");
|
|
|
|
|
|
orderValues.add("shop_weight:asc");
|
|
|
orderValues.add("shop_weight:desc");
|
|
|
//orderValues.add("pools.id:desc");
|
|
|
//orderValues.add("pools.id:asc");
|
|
|
//orderValues.add("pools.sort:desc");
|
|
|
//orderValues.add("pools.sort:asc");
|
|
|
|
|
|
orderValues.add("activities.order_by:desc");
|
|
|
orderValues.add("activities.order_by:asc");
|
|
|
orderValues.add("activities.activity_id:desc");
|
|
|
orderValues.add("activities.activity_id:asc");
|
|
|
//orderValues.add("activities.order_by:desc");
|
|
|
//orderValues.add("activities.order_by:asc");
|
|
|
//orderValues.add("activities.activity_id:desc");
|
|
|
//orderValues.add("activities.activity_id:asc");
|
|
|
|
|
|
orderValues.add("heatValue:asc");
|
|
|
orderValues.add("heatValue:desc");
|
|
|
}
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -181,11 +188,11 @@ public class SearchSortHelper { |
|
|
|
|
|
// 都要添加次要排序条件
|
|
|
private void addDeafultSortBuildSorts(List<SortBuilder<?>> sortBuilders, List<String> filteredFieldNames) {
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, "salesNum", SortOrder.DESC);
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, "firstShelveTime", SortOrder.DESC);
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, "id", SortOrder.DESC);
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, ProductIndexEsField.salesNum, SortOrder.DESC);
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, ProductIndexEsField.firstShelveTime, SortOrder.DESC);
|
|
|
this.addSortBuildSorts(sortBuilders, filteredFieldNames, ProductIndexEsField.id, SortOrder.DESC);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 构造排序方式
|
|
|
*
|
...
|
...
|
|