ソースを参照

remove unused recall strategy

丁云鹏 3 ヶ月 前
コミット
1e70b6208f

+ 7 - 188
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankService.java

@@ -2,17 +2,13 @@ package com.tzld.piaoquan.recommend.server.service.rank;
 
 
 import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
-import com.tzld.piaoquan.recommend.feature.domain.video.base.RequestContext;
 import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
-import com.tzld.piaoquan.recommend.server.model.MachineInfo;
 import com.tzld.piaoquan.recommend.server.model.Video;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConstants;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallResult;
 import com.tzld.piaoquan.recommend.server.service.recall.strategy.*;
-import com.tzld.piaoquan.recommend.server.service.score.ScoreParam;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.math.NumberUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -20,7 +16,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -29,7 +24,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @Slf4j
-public class RankService {
+public abstract class RankService {
     @Autowired
     @Qualifier("redisTemplate")
     public RedisTemplate<String, String> redisTemplate;
@@ -75,7 +70,7 @@ public class RankService {
             }
             return new RankResult(results);
         }
-        if (this.matchSpecialApp(param.getAppType())){
+        if (this.matchSpecialApp(param.getAppType())) {
             // 特殊app固定列表,只有一路召回,且不走排序。
             List<Video> results = new ArrayList<>(extractAndSort(param, RegionRealtimeRecallStrategyV5Hand.PUSH_FORM));
             removeDuplicate(results);
@@ -95,8 +90,6 @@ public class RankService {
         List<Video> rovRecallRank = mergeAndRankRovRecall(param);
         List<Video> flowPoolRank = mergeAndRankFlowPoolRecall(param);
 
-        rankFilter(param, rovRecallRank, flowPoolRank);
-
         removeDuplicate(param, rovRecallRank, flowPoolRank);
 
 
@@ -156,105 +149,8 @@ public class RankService {
 
     }
 
-    public void rankFilter(RankParam param, List<Video> rovRecallRank, List<Video> flowPoolRank) {
-    }
-
-    public List<Video> mergeAndRankRovRecall(RankParam param) {
-        // TODO ab test
-        // TODO 抽象成Strategy
-
-        return mergeAndRankRovRecallOld(param);
-    }
-
-    public List<Video> mergeAndRankRovRecallOld(RankParam param) {
-        List<Video> rovRecallRank = new ArrayList<>();
-        rovRecallRank.addAll(extractAndSort(param, RegionHRecallStrategy.PUSH_FORM));
-        rovRecallRank.addAll(extractAndSort(param, RegionHDupRecallStrategy.PUSH_FORM));
-        rovRecallRank.addAll(extractAndSort(param, Region24HRecallStrategy.PUSH_FORM));
-        rovRecallRank.addAll(extractAndSort(param, RegionRelative24HRecallStrategy.PUSH_FORM));
-        rovRecallRank.addAll(extractAndSort(param, RegionRelative24HDupRecallStrategy.PUSH_FORM));
-
-        // @zhangbo 增加不同召回子策略的返回数量-阿波罗:region.recall.return.size
-        String abCode = param.getAbCode();
-        int sizeReturn = param.getSize();
-        if (abCode != null && this.regionRecallReturnSize != null &&
-                this.regionRecallReturnSize.containsKey(abCode) &&
-                this.regionRecallReturnSize.get(abCode) != null) {
-            sizeReturn = this.regionRecallReturnSize.get(abCode).getOrDefault("result_size", sizeReturn);
-        }
+    public abstract List<Video> mergeAndRankRovRecall(RankParam param);
 
-        if (param.getAbCode().equals("60054")
-                || param.getAbCode().equals("60068")
-                || param.getAbCode().equals("60081")
-                || param.getAbCode().equals("60084")
-                || param.getAbCode().equals("60087")
-                || param.getAbCode().equals("60088")
-                || param.getAbCode().equals("60089")
-                || param.getAbCode().equals("60090")
-                || param.getAbCode().equals("60091")
-                || param.getAbCode().equals("60092")
-                || param.getAbCode().equals("60093")
-                || param.getAbCode().equals("60094")
-                || param.getAbCode().equals("60095")
-                || param.getAbCode().equals("60096")
-                || param.getAbCode().equals("60097")
-                || param.getAbCode().equals("60098")
-                || param.getAbCode().equals("60111")
-                || param.getAbCode().equals("60103")
-                || param.getAbCode().equals("60104")
-                || param.getAbCode().equals("60110")
-                || param.getAbCode().equals("60150")
-        ) {
-            // 地域召回要做截取,再做融合排序
-            removeDuplicate(rovRecallRank);
-            rovRecallRank = rovRecallRank.size() <= sizeReturn
-                    ? rovRecallRank
-                    : rovRecallRank.subList(0, sizeReturn);
-
-
-            // 补充不分地域小时数据
-            rovRecallRank.addAll(extractAndSort(param, RegionHWithoutDupRecallStrategy.PUSH_FORM));
-            // merge sim recall 和 return recall
-            rovRecallRank.addAll(extractAndSort(param, SimHotVideoRecallStrategy.PUSH_FORM));
-            rovRecallRank.addAll(extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM));
-            if (param.getAbCode().equals("60150")) {
-                rovRecallRank.addAll(extractAndSort(param, ShareDeepRecallStrategy.PUSH_FORM));
-                rovRecallRank.addAll(extractAndSort(param, ShareWidthRecallStrategy.PUSH_FORM));
-            }
-            removeDuplicate(rovRecallRank);
-
-            // 融合排序
-            List<String> videoIdKeys = rovRecallRank.stream()
-                    .map(t -> param.getRankKeyPrefix() + t.getVideoId())
-                    .collect(Collectors.toList());
-            List<String> videoScores = redisTemplate.opsForValue().multiGet(videoIdKeys);
-            if (CollectionUtils.isNotEmpty(videoScores)
-                    && videoScores.size() == rovRecallRank.size()) {
-                for (int i = 0; i < videoScores.size(); i++) {
-                    rovRecallRank.get(i).setSortScore(NumberUtils.toDouble(videoScores.get(i), 0.0));
-                }
-                Collections.sort(rovRecallRank, Comparator.comparingDouble(o -> -o.getSortScore()));
-            }
-        } else {
-            rovRecallRank.addAll(extractAndSort(param, SimHotVideoRecallStrategy.PUSH_FORM));
-            rovRecallRank.addAll(extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM));
-            removeDuplicate(rovRecallRank);
-
-            // 融合排序
-            List<String> videoIdKeys = rovRecallRank.stream()
-                    .map(t -> param.getRankKeyPrefix() + t.getVideoId())
-                    .collect(Collectors.toList());
-            List<String> videoScores = redisTemplate.opsForValue().multiGet(videoIdKeys);
-            if (CollectionUtils.isNotEmpty(videoScores)
-                    && videoScores.size() == rovRecallRank.size()) {
-                for (int i = 0; i < videoScores.size(); i++) {
-                    rovRecallRank.get(i).setSortScore(NumberUtils.toDouble(videoScores.get(i), 0.0));
-                }
-                rovRecallRank.sort(Comparator.comparingDouble(o -> -o.getSortScore()));
-            }
-        }
-        return rovRecallRank;
-    }
 
     public void removeDuplicate(List<Video> rovRecallRank) {
         if (CollectionUtils.isNotEmpty(rovRecallRank)) {
@@ -271,38 +167,6 @@ public class RankService {
         }
     }
 
-    protected ScoreParam convert(RankParam param) {
-        ScoreParam scoreParam = new ScoreParam();
-
-        scoreParam.setMid(param.getMid());
-
-        // TODO hardcode 为了兼容写入逻辑
-        RequestContext context = new RequestContext();
-        context.setApptype(param.getAppType() + "");
-
-        // TODO 地域转换
-        context.setRegion(param.getProvince());
-        context.setCity(param.getCity());
-
-        Calendar calendar = Calendar.getInstance();
-        context.setWeek((calendar.get(Calendar.DAY_OF_WEEK) + 6) % 7 + "");
-        context.setDay(new SimpleDateFormat("yyyyMMdd").format(calendar.getTime()));
-        context.setHour(new SimpleDateFormat("HH").format(calendar.getTime()));
-
-        MachineInfo machineInfo = param.getMachineInfo();
-        if (machineInfo != null) {
-            context.setMachineinfo_brand(machineInfo.getBrand());
-            context.setMachineinfo_model(machineInfo.getModel());
-            context.setMachineinfo_platform(machineInfo.getPlatform());
-            context.setMachineinfo_sdkversion(machineInfo.getSdkVersion());
-            context.setMachineinfo_system(machineInfo.getSystem());
-            context.setMachineinfo_wechatversion(machineInfo.getWechatVersion());
-        }
-
-        scoreParam.setRequestContext(context);
-        return scoreParam;
-    }
-
     public List<Video> mergeAndRankFlowPoolRecall(RankParam param) {
         List<Video> quickFlowPoolVideos = extractAndSort(param, FlowPoolConstants.QUICK_PUSH_FORM);
         if (CollectionUtils.isNotEmpty(quickFlowPoolVideos)) {
@@ -373,60 +237,15 @@ public class RankService {
         }
     }
 
-    public RankResult mergeAndSort(RankParam param, List<Video> rovRecallRank, List<Video> flowPoolRank) {
-        if (CollectionUtils.isEmpty(rovRecallRank)) {
-            if (param.getSize() < flowPoolRank.size()) {
-                return new RankResult(flowPoolRank.subList(0, param.getSize()));
-            } else {
-                return new RankResult(flowPoolRank);
-            }
-        }
-
-        List<Video> result = new ArrayList<>();
-        for (int i = 0; i < param.getTopK() && i < rovRecallRank.size(); i++) {
-            result.add(rovRecallRank.get(i));
-        }
-
-        double flowPoolP = getFlowPoolP(param);
-        int flowPoolIndex = 0;
-        int rovPoolIndex = param.getTopK();
-
-        for (int i = 0; i < param.getSize() - param.getTopK(); i++) {
-            double rand = RandomUtils.nextDouble(0, 1);
-            if (rand < flowPoolP) {
-                if (flowPoolIndex < flowPoolRank.size()) {
-                    result.add(flowPoolRank.get(flowPoolIndex++));
-                } else {
-                    break;
-                }
-            } else {
-                if (rovPoolIndex < rovRecallRank.size()) {
-                    result.add(rovRecallRank.get(rovPoolIndex++));
-                } else {
-                    break;
-                }
-            }
-        }
-        if (rovPoolIndex >= rovRecallRank.size()) {
-            for (int i = flowPoolIndex; i < flowPoolRank.size() && result.size() < param.getSize(); i++) {
-                result.add(flowPoolRank.get(i));
-            }
-        }
-        if (flowPoolIndex >= flowPoolRank.size()) {
-            for (int i = rovPoolIndex; i < rovRecallRank.size() && result.size() < param.getSize(); i++) {
-                result.add(rovRecallRank.get(i));
-            }
-        }
-        return new RankResult(result);
-    }
+    public abstract RankResult mergeAndSort(RankParam param, List<Video> rovRecallRank, List<Video> flowPoolRank);
 
-    private boolean matchSpecialApp(int appId){
+    private boolean matchSpecialApp(int appId) {
         Set<Integer> notSpecialApp = new HashSet<>(Arrays.asList(0, 4, 5));
-        if (notSpecialApp.contains(appId)){
+        if (notSpecialApp.contains(appId)) {
             // vlog 票圈视频 内容精选 不允许走特殊列表,即使配置了也无效。
             return false;
         }
-        if (specialAppVid != null && specialAppVid.getOrDefault("app", new ArrayList<>()).contains((long) appId)){
+        if (specialAppVid != null && specialAppVid.getOrDefault("app", new ArrayList<>()).contains((long) appId)) {
             log.info("This request hits a special logic in matchSpecialApp with appId={}", appId);
             return true;
         }

+ 1 - 153
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/strategy/RankStrategy4RegionMergeModelBasic.java

@@ -33,9 +33,7 @@ import java.util.stream.Collectors;
  */
 @Service
 @Slf4j
-public class RankStrategy4RegionMergeModelBasic extends RankService {
-    @ApolloJsonValue("${rank.score.merge.weight:}")
-    private Map<String, Double> mergeWeight;
+public abstract class RankStrategy4RegionMergeModelBasic extends RankService {
     @ApolloJsonValue("${RankStrategy4DensityFilterV2:}")
     private Map<String, Map<String, Map<String, String>>> filterRules = new HashMap<>();
     String CLASS_NAME = this.getClass().getSimpleName();
@@ -52,74 +50,6 @@ public class RankStrategy4RegionMergeModelBasic extends RankService {
         }
     }
 
-    @Override
-    public List<Video> mergeAndRankRovRecall(RankParam param) {
-        List<Video> result = new ArrayList<>();
-        return result;
-    }
-
-    public double calNewVideoScore(Map<String, String> itemBasicMap) {
-        double existenceDays = Double.valueOf(itemBasicMap.getOrDefault("existence_days", "30"));
-        if (existenceDays > 5) {
-            return 0.0;
-        }
-        double score = 1.0 / (existenceDays + 10.0);
-        return score;
-    }
-
-    public double calTrendScore(List<Double> data) {
-        double sum = 0.0;
-        int size = data.size();
-        for (int i = 0; i < size - 4; ++i) {
-            sum += data.get(i) - data.get(i + 4);
-        }
-        if (sum * 10 > 0.6) {
-            sum = 0.6;
-        } else {
-            sum = sum * 10;
-        }
-        if (sum > 0) {
-            // 为了打断点
-            sum = sum;
-        }
-        return sum;
-    }
-    public Double calScoreWeightNoTimeDecay(List<Double> data) {
-        Double up = 0.0;
-        Double down = 0.0;
-        for (int i = 0; i < data.size(); ++i) {
-            up += 1.0 * data.get(i);
-            down += 1.0;
-        }
-        return down > 1E-8 ? up / down : 0.0;
-    }
-
-    public List<Double> getRateData(List<Double> ups, List<Double> downs, Double up, Double down) {
-        List<Double> data = new LinkedList<>();
-        for (int i = 0; i < ups.size(); ++i) {
-            if (ExtractorUtils.isDoubleEqualToZero(downs.get(i) + down)) {
-                data.add(0.0);
-            } else {
-                data.add(
-                        (ups.get(i) + up) / (downs.get(i) + down)
-                );
-            }
-        }
-        return data;
-    }
-
-    public List<Double> getStaticData(Map<String, Map<String, Double>> itemRealMap,
-                                      List<String> datehours, String key) {
-        List<Double> views = new LinkedList<>();
-        Map<String, Double> tmp = itemRealMap.getOrDefault(key, new HashMap<>());
-        for (String dh : datehours) {
-            views.add(tmp.getOrDefault(dh, 0.0D) +
-                    (views.isEmpty() ? 0.0 : views.get(views.size() - 1))
-            );
-        }
-        return views;
-    }
-
     public List<RankItem> model(List<Video> videos, RankParam param,
                                 List<String> rtFeaPart) {
         List<RankItem> result = new ArrayList<>();
@@ -261,45 +191,6 @@ public class RankStrategy4RegionMergeModelBasic extends RankService {
         return new RankResult(resultWithDensity);
     }
 
-    public void getVideoFeatureFromRedis(List<RankItem> items){
-        List<Long> videoIds = CommonCollectionUtils.toListDistinct(items, RankItem::getVideoId);
-        List<String> videoKeys = videoIds.stream().map(r -> "item_rt_fea_1hrootall_" + r)
-                .collect(Collectors.toList());
-        List<String> videoRtFeatures = this.redisTemplate.opsForValue().multiGet(videoKeys);
-        int j = 0;
-        if (videoRtFeatures != null) {
-            for (RankItem item : items) {
-                String vF = videoRtFeatures.get(j);
-                ++j;
-                if (vF == null) {
-                    continue;
-                }
-                Map<String, String> vfMap = new HashMap<>();
-                Map<String, Map<String, Double>> vfMapNew = new HashMap<>();
-                try {
-                    vfMap = JSONUtils.fromJson(vF, new TypeToken<Map<String, String>>() {
-                    }, vfMap);
-                    for (Map.Entry<String, String> entry : vfMap.entrySet()) {
-                        String value = entry.getValue();
-                        if (value == null) {
-                            continue;
-                        }
-                        String[] var1 = value.split(",");
-                        Map<String, Double> tmp = new HashMap<>();
-                        for (String var2 : var1) {
-                            String[] var3 = var2.split(":");
-                            tmp.put(var3[0], Double.valueOf(var3[1]));
-                        }
-                        vfMapNew.put(entry.getKey(), tmp);
-                    }
-                    item.setItemRealTimeRootFeature(vfMapNew);
-                } catch (Exception e) {
-                    log.error(String.format("parse video item_rt_fea_1hrootall_ json is wrong in {} with {}", this.CLASS_NAME, e));
-                }
-            }
-        }
-    }
-
     public Map<String, Map<String, String>> getVideoRedisFeature(List<String> vids, String redisKeyPrefix){
         List<String> keys = vids.stream().map(r -> redisKeyPrefix + r).collect(Collectors.toList());
         List<String> key2Values = this.redisTemplate.opsForValue().multiGet(keys);
@@ -402,47 +293,4 @@ public class RankStrategy4RegionMergeModelBasic extends RankService {
         }
     }
 
-
-    public static void main(String[] args) {
-
-    }
-
-    List<Double> help(String s, String date, Integer h) {
-        Map<String, Double> maps = Arrays.stream(s.split(",")).map(pair -> pair.split(":"))
-                .collect(Collectors.toMap(
-                        arr -> arr[0],
-                        arr -> Double.valueOf(arr[1])
-                ));
-        List<String> datehours = new LinkedList<>(); // 时间是倒叙的
-        List<Double> result = new ArrayList<>();
-        for (int i = 0; i < h; ++i) {
-            Double d = (result.isEmpty() ? 0.0 : result.get(result.size() - 1));
-            result.add(d + maps.getOrDefault(date, 0D));
-            datehours.add(date);
-            date = ExtractorUtils.subtractHours(date, 1);
-        }
-        return result;
-    }
-    public double calVovScore(RankItem item, Map<String, Map<String, String>> vid2VovFeatureMap){
-        String id = item.getVideoId() + "";
-        Map<String, String> featureMap = vid2VovFeatureMap.getOrDefault(id, new HashMap<>());
-        double numerator = 0D;
-        final Set<String> ups = new HashSet<>(Arrays.asList(
-                "1_vovh0分子", "2_vovh1分子", "3_vovh2分子", "4_vovh3分子", "7_vovh6分子", "13_vovh12分子", "25_vovh24分子", "2_vovd1分子"
-        ));
-        for (String key: ups){
-            numerator += Double.parseDouble(featureMap.getOrDefault(key, "0"));
-        }
-        double denominator = 0D;
-        final Set<String> downs = new HashSet<>(Arrays.asList(
-                "1_vovh分母", "2_vovh分母", "3_vovh分母", "4_vovh分母", "7_vovh分母", "13_vovh分母", "25_vovh分母", "2_vovd分母"
-        ));
-        for (String key: downs){
-            denominator += Double.parseDouble(featureMap.getOrDefault(key, "0"));
-        }
-        item.getScoresMap().put("numerator", numerator);
-        item.getScoresMap().put("denominator", denominator);
-        return denominator != 0.0? numerator / denominator: 0.0;
-    }
-
 }

+ 6 - 135
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/RecallService.java

@@ -121,50 +121,15 @@ public class RecallService implements ApplicationContextAware {
             return strategies;
         }
         switch (abCode) {
-            case "60122": // 537
-            case "60124": // 546
-            case "60125": // 547
-            case "60126": // 548
-            case "60116": // 566
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV2.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV3.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV4.class.getSimpleName()));
-                strategies.addAll(getRegionRecallStrategy(param));
-                break;
-            case "60120": // 576
-            case "60123": // 541
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV2.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV3.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV4.class.getSimpleName()));
-                break;
-
-            case "60656": // 656
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.addAll(getRegionRecallStrategy(param));
-                break;
-            case "60118": // 568
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV4.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.addAll(getRegionRecallStrategy(param));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-            case "60107": // 553
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.addAll(getRegionRecallStrategy(param));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV7VovLongTermV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV7VovLongTermV2.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV7VovLongTermV3.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV7VovLongTermV4.class.getSimpleName()));
-                break;
+//            60112  562
+//            60113  563
+//            60114  564
+//            60117  567
+//            60119  569
+//            60121  536
             case "60121": // 536
-            case "60105": // 551
-            case "60106": // 552
             case "60112": // 562
             case "60114": // 564
-            case "60115": // 565
             case "60119": // 569
                 strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
                 strategies.addAll(getRegionRecallStrategy(param));
@@ -189,100 +154,6 @@ public class RecallService implements ApplicationContextAware {
                 strategies.add(strategyMap.get(FlowPoolWithLevelScoreRecallStrategy.class.getSimpleName()));
             }
         }
-
-        //3:通过“abcode”控制“召回子策略”
-        switch (abCode) {
-            case "60096":
-                strategies.add(strategyMap.get(RegionHWithoutDupRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-            case "60111": // 561
-            case "60068":
-            case "60092":
-            case "60094":
-            case "60097": // 523
-            case "60098": // 533
-            case "60101": // 排序str实验
-            case "60102": // 通过更改param中的配置实现使用不同数据源 data66 rule68 + 无排序模块
-            case "60103": // 增加地域1小时扩量,通过配置实现
-            case "60120": // 576
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-            case "60122": // 537
-            case "60124": // 546
-            case "60125": // 547
-            case "60123": // 541
-            case "60126": // 548
-            case "60116": // 566
-            case "60656": // 656
-            case "60104": // 去掉sim的对比实验
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-            case "60121": // 536
-            case "60105": // 551
-            case "60106": // 552
-            case "60107": // 553
-            case "60112": // 562
-            case "60113": // 563
-            case "60114": // 564
-            case "60115": // 565
-            case "60117": // 567
-            case "60118": // 568
-            case "60119": // 569
-                break;
-            case "60110": // 新内容的召回(流量池的Top内容)
-                strategies.add(strategyMap.get(TopGoodPerformanceVideoRecallStrategy.class.getSimpleName()));
-                if (!hitUserBlacklist || !isInBlacklist) {
-                    strategies.add(strategyMap.get(FlowPoolLastDayTopRecallStrategy.class.getSimpleName()));
-                }
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-            case "60130":
-            case "60131":
-            case "60132":
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(FestivalRecallStrategyV1.class.getSimpleName()));
-                break;
-            case "60150": // 645
-                strategies.add(strategyMap.get(ShareWidthRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ShareDeepRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(FestivalRecallStrategyV1.class.getSimpleName()));
-                break;
-            case "60151": // 650
-                strategies.add(strategyMap.get(ContentBaseRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(FestivalRecallStrategyV1.class.getSimpleName()));
-                break;
-            case "60654":
-                strategies.add(strategyMap.get(CFRovnRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(FestivalRecallStrategyV1.class.getSimpleName()));
-            case "60655":
-                strategies.add(strategyMap.get(CFRovnRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV1.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV2_sort.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV3.class.getSimpleName()));
-                strategies.add(strategyMap.get(RegionRealtimeRecallStrategyV4.class.getSimpleName()));
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(FestivalRecallStrategyV1.class.getSimpleName()));
-            default:
-                strategies.add(strategyMap.get(SimHotVideoRecallStrategy.class.getSimpleName()));
-                strategies.add(strategyMap.get(ReturnVideoRecallStrategy.class.getSimpleName()));
-                break;
-        }
-
         return strategies;
     }