Authored by hugufei

兜底的数量改少,品类品牌的数量改多

... ... @@ -20,7 +20,7 @@ public class CommonRecallRequestBuilder{
* @param firstProductSkns
* @return
*/
public List<RecallRequest> buildCommonRecallRequests(ParamQueryFilter paramQueryFilter, List<String> firstProductSkns) {
public List<RecallRequest> buildCommonRecallRequests(ParamQueryFilter paramQueryFilter,int pageSize, List<String> firstProductSkns) {
//1、构造召回请求
List<RecallRequest> requests = new ArrayList<>();
//1.1) firstSkn的召回
... ... @@ -28,7 +28,7 @@ public class CommonRecallRequestBuilder{
//1.2) 直通车召回
requests.add(this.buildDirectTrainRequest(paramQueryFilter, SknCountConstants.DIRECT_TRAIN_RECALL_COUNT));
//1.3) 人气的召回
requests.add(this.buildCommonRequest(paramQueryFilter,SknCountConstants.COMMON_HEAT_VALUE));
requests.add(this.buildCommonRequest(paramQueryFilter,Math.min(SknCountConstants.COMMON_HEAT_VALUE,pageSize)));
//1.4) 新开店铺的召回
requests.add(this.buildNewShopRequest(paramQueryFilter, SknCountConstants.NEW_SHOP));
//1.5) 流量补偿的召回
... ...
... ... @@ -15,7 +15,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
... ...
... ... @@ -159,7 +159,7 @@ public class UserRecallCacheBean extends AbstractCacheBean<UserRecallRequest, Us
private CompletableFuture<List<RecallRequestResponse>> doRecallCommon(UserRecallRequest userRecallRequest, UserPersonalFactor userPersonalFactor) {
return CompletableFuture.supplyAsync(() -> {
long begin = System.currentTimeMillis();
List<RecallRequest> commonRequests = commonRequestBuilder.buildCommonRecallRequests(userRecallRequest.getParamQueryFilter(), userRecallRequest.getFirstProductSkns());
List<RecallRequest> commonRequests = commonRequestBuilder.buildCommonRecallRequests(userRecallRequest.getParamQueryFilter(),userRecallRequest.getPageSize(), userRecallRequest.getFirstProductSkns());
List<RecallRequestResponse> commonRequestResponses = batchRecallCacheBean.batchRecallAndCache(commonRequests);
RECALL_NEW_LOGGER.info("UserRecallCacheBean[2.1]-doRecallCommon,requestCount is [{}], cost is [{}]", commonRequests.size(), System.currentTimeMillis() - begin);
return commonRequestResponses;
... ...
... ... @@ -5,16 +5,15 @@ public class SknCountConstants {
/**
* 单次召回的商品数量
*/
public static final int COMMON_HEAT_VALUE = 60;
public static final int COMMON_HEAT_VALUE = 20;
public static final int FIRST_SKN = 1;
public static final int DIRECT_TRAIN_RECALL_COUNT = 100;
public static final int DIRECT_TRAIN_RETURN_COUNT = 20;
public static final int NEW_SHOP = 10;
public static final int ADD_FLOW = 10;
public static final int SORT_BRAND_RECALL_STRATEGY_SKN_COUNT = 4;
public static final int SORT_BRAND_RECALL_STRATEGY_SKN_COUNT = 8;
public static final int MAX_USER_RECALL_SKN_CACHE_COUNT = 100;
... ...