浏览代码

ADD:实验逻辑控制

sunxy 1 年之前
父节点
当前提交
ec00ac3db4

+ 2 - 3
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/implement/TopRecommendPipeline.java

@@ -11,13 +11,13 @@ import com.tzld.piaoquan.recommend.server.framework.merger.MergeUtils;
 import com.tzld.piaoquan.recommend.server.framework.merger.StrategyQueue;
 import com.tzld.piaoquan.recommend.server.framework.recaller.BaseRecaller;
 import com.tzld.piaoquan.recommend.server.framework.recaller.provider.RedisBackedQueue;
+import com.tzld.piaoquan.recommend.server.framework.score.ScorerUtils;
 import com.tzld.piaoquan.recommend.server.framework.utils.RedisSmartClient;
 import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest;
 import com.tzld.piaoquan.recommend.server.model.Video;
 import com.tzld.piaoquan.recommend.server.service.rank.extractor.ExtractorUtils;
 import com.tzld.piaoquan.recommend.server.service.rank.extractor.RankExtractorItemFeature;
 import com.tzld.piaoquan.recommend.server.service.rank.extractor.RankExtractorUserFeature;
-import com.tzld.piaoquan.recommend.server.service.score.ScorerUtils;
 import com.tzld.piaoquan.recommend.server.util.CommonCollectionUtils;
 import com.tzld.piaoquan.recommend.server.util.JSONUtils;
 import org.apache.commons.collections4.CollectionUtils;
@@ -454,8 +454,7 @@ public class TopRecommendPipeline {
         log.info("ItemFeature = {}", JSONUtils.toJson(videoFeatures));
 
 
-
-        List<RankItem> rovRecallScore = ScorerUtils.getScorerPipeline(ScorerUtils.BASE_CONF)
+        List<RankItem> rovRecallScore = ScorerUtils.getScorerPipeline(ScorerUtils.BASE_CONF_NEW_FEED)
                 .scoring(sceneFeatureMap, userFeatureMap, rankItems);
         log.info("mergeAndRankRovRecallNew rovRecallScore={}", JSONUtils.toJson(rovRecallScore));
         JSONObject obj = new JSONObject();

+ 12 - 9
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/VideoRecommendService.java

@@ -11,11 +11,11 @@ import com.tzld.piaoquan.recommend.server.implement.FlowPoolRecommendPipeline;
 import com.tzld.piaoquan.recommend.server.implement.TopRecommendPipeline;
 import com.tzld.piaoquan.recommend.server.model.RecommendParam;
 import com.tzld.piaoquan.recommend.server.model.Video;
-import com.tzld.piaoquan.recommend.server.remote.FeatureRemoteService;
 import com.tzld.piaoquan.recommend.server.service.rank.RankParam;
 import com.tzld.piaoquan.recommend.server.service.rank.RankResult;
 import com.tzld.piaoquan.recommend.server.service.rank.strategy.RankStrategy4RegionMergeModelV2;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -30,13 +30,9 @@ import java.util.List;
 @Slf4j
 public class VideoRecommendService {
 
-    private final Boolean newRecommendSwitch = true;
-
     @Value("${recommend.new.log.print:true}")
     private Boolean newLogPrint;
     @Resource
-    private FeatureRemoteService featureRemoteService;
-    @Resource
     private RecommendService recommendService;
     @Resource
     private TopRecommendPipeline topRecommendPipeline;
@@ -46,15 +42,23 @@ public class VideoRecommendService {
     private RankStrategy4RegionMergeModelV2 rankStrategy4RegionMergeModelV2;
 
     public RecommendResponse homepageRecommend(RecommendRequest request) {
-        return newRecommendSwitch ? recommendNew(request, 0) : recommend(request, 0);
+        RecommendParam recommendParam = recommendService.genRecommendParam(request, 0);
+        if (StringUtils.equals(recommendParam.getAbCode(), "60140")) {
+            return recommendNew(request, recommendParam, 0);
+        }
+        return recommend(request, 0);
     }
 
 
     public RecommendResponse relevantRecommend(RecommendRequest request) {
-        return newRecommendSwitch ? recommendNew(request, 1) : recommend(request, 1);
+        RecommendParam recommendParam = recommendService.genRecommendParam(request, 1);
+        if (StringUtils.equals(recommendParam.getAbCode(), "60140")) {
+            return recommendNew(request, recommendParam, 1);
+        }
+        return recommend(request, 1);
     }
 
-    private RecommendResponse recommendNew(RecommendRequest request, int recommendType) {
+    private RecommendResponse recommendNew(RecommendRequest request, RecommendParam recommendParam, int recommendType) {
         User user = getUser(request);
         List<Video> topRecommendVideoList = new ArrayList<>();
         List<Video> flowPoolRecommendVideoList = new ArrayList<>();
@@ -77,7 +81,6 @@ public class VideoRecommendService {
         } catch (Exception e) {
             log.error("traceId = {}, flowPoolRecommendVideoList error", request.getRequestId(), e);
         }
-        RecommendParam recommendParam = recommendService.genRecommendParam(request, recommendType);
         RankParam rankParam = recommendService.convertToRankParam(recommendParam, null);
 
         RankResult rankResult = rankStrategy4RegionMergeModelV2.mergeAndSort(rankParam, topRecommendVideoList,

+ 2 - 2
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/WarmUpService.java

@@ -1,7 +1,6 @@
 package com.tzld.piaoquan.recommend.server.service;
 
 import com.tzld.piaoquan.recommend.server.repository.WxVideoStatusRepository;
-import com.tzld.piaoquan.recommend.server.service.score.ScorerUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.core.annotation.Order;
@@ -33,7 +32,8 @@ public class WarmUpService {
         redisTemplate.opsForValue().get("");
         featureRedisTemplate.opsForValue().get("");
         longVideoRedisTemplate.opsForValue().get("");
-        ScorerUtils.warmUp();
+        com.tzld.piaoquan.recommend.server.service.score.ScorerUtils.warmUp();
+        com.tzld.piaoquan.recommend.server.framework.score.ScorerUtils.warmUp();
         wxVideoStatusRepository.count();
     }
 }

+ 35 - 43
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/web/RecommendV2Controller.java

@@ -1,14 +1,9 @@
 package com.tzld.piaoquan.recommend.server.web;
 
-import com.alibaba.fastjson.JSONObject;
 import com.google.protobuf.InvalidProtocolBufferException;
 import com.tzld.piaoquan.recommend.server.client.ProtobufUtils;
-import com.tzld.piaoquan.recommend.server.framework.common.User;
 import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest;
 import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendResponse;
-import com.tzld.piaoquan.recommend.server.implement.FlowPoolRecommendPipeline;
-import com.tzld.piaoquan.recommend.server.implement.TopRecommendPipeline;
-import com.tzld.piaoquan.recommend.server.model.Video;
 import com.tzld.piaoquan.recommend.server.service.VideoRecommendService;
 import lombok.extern.slf4j.Slf4j;
 import org.slf4j.MDC;
@@ -17,9 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import javax.annotation.Resource;
-import java.util.List;
-
 /**
  * @author dyp
  */
@@ -28,12 +20,12 @@ import java.util.List;
 public class RecommendV2Controller {
     @Autowired
     private VideoRecommendService videoRecommendService;
-
-    @Resource
-    TopRecommendPipeline topRecommendPipeline;
-
-    @Resource
-    FlowPoolRecommendPipeline flowPoolRecommendPipeline;
+//
+//    @Resource
+//    TopRecommendPipeline topRecommendPipeline;
+//
+//    @Resource
+//    FlowPoolRecommendPipeline flowPoolRecommendPipeline;
 
     @RequestMapping("/homepage/recommend/v2")
     public String homepageRecommend(@RequestBody RecommendRequest httpRequest) {
@@ -62,33 +54,33 @@ public class RecommendV2Controller {
         return result;
     }
 
-    @RequestMapping("/test/feedByRec")
-    public String feedByRec(@RequestBody RecommendRequest httpRequest) {
-        MDC.put("appType", String.valueOf(httpRequest.getAppType()));
-
-        User user = new User();
-        user.setRegion(httpRequest.getCityCode());
-        List<Video> videoList = topRecommendPipeline.feeds(httpRequest, 0, user, true);
-        String result = "";
-        try {
-            result = JSONObject.toJSONString(videoList);
-        } catch (Exception e) {
-            log.error("feedByRec ProtobufUtils.toJson", e);
-        }
-        return result;
-    }
-
-    @RequestMapping("/test/flowPool")
-    public String flowPool(@RequestBody RecommendRequest httpRequest) {
-        MDC.put("appType", String.valueOf(httpRequest.getAppType()));
-
-        List<Video> videoList = flowPoolRecommendPipeline.feedByRec(httpRequest, 0, true);
-        String result = "";
-        try {
-            result = JSONObject.toJSONString(videoList);
-        } catch (Exception e) {
-            log.error("flowPool ProtobufUtils.toJson", e);
-        }
-        return result;
-    }
+//    @RequestMapping("/test/feedByRec")
+//    public String feedByRec(@RequestBody RecommendRequest httpRequest) {
+//        MDC.put("appType", String.valueOf(httpRequest.getAppType()));
+//
+//        User user = new User();
+//        user.setRegion(httpRequest.getCityCode());
+//        List<Video> videoList = topRecommendPipeline.feeds(httpRequest, 0, user, true);
+//        String result = "";
+//        try {
+//            result = JSONObject.toJSONString(videoList);
+//        } catch (Exception e) {
+//            log.error("feedByRec ProtobufUtils.toJson", e);
+//        }
+//        return result;
+//    }
+//
+//    @RequestMapping("/test/flowPool")
+//    public String flowPool(@RequestBody RecommendRequest httpRequest) {
+//        MDC.put("appType", String.valueOf(httpRequest.getAppType()));
+//
+//        List<Video> videoList = flowPoolRecommendPipeline.feedByRec(httpRequest, 0, true);
+//        String result = "";
+//        try {
+//            result = JSONObject.toJSONString(videoList);
+//        } catch (Exception e) {
+//            log.error("flowPool ProtobufUtils.toJson", e);
+//        }
+//        return result;
+//    }
 }