Ver código fonte

Revert "reco process"

This reverts commit 600a68ab30d05ec5e62f533d80f7935102933305.
丁云鹏 1 ano atrás
pai
commit
3830b64d57

+ 17 - 30
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankService.java

@@ -66,8 +66,25 @@ public class RankService {
         rovRecallRank.addAll(extractAndSort(param, Region24HRecallStrategy.PUSH_FORM));
         rovRecallRank.addAll(extractAndSort(param, RegionRelative24HRecallStrategy.PUSH_FORM));
         rovRecallRank.addAll(extractAndSort(param, RegionRelative24HDupRecallStrategy.PUSH_FORM));
+        // TODO 为什么sim recall 和 return recall 不去重
+        rovRecallRank.addAll(extractAndSort(param, SimHotVideoRecallStrategy.PUSH_FORM));
+        rovRecallRank.addAll(extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM));
 
+        // 去重
+        if (CollectionUtils.isNotEmpty(rovRecallRank)) {
+            Set<Long> videoIds = new HashSet<>();
+            Iterator<Video> ite = rovRecallRank.iterator();
+            while (ite.hasNext()) {
+                Video v = ite.next();
+                if (videoIds.contains(v.getVideoId())) {
+                    ite.remove();
+                    continue;
+                }
+                videoIds.add(v.getVideoId());
+            }
+        }
 
+        // 排序实验
         if (param.getAbCode().equals("60054")
                 || param.getAbCode().equals("60068")
                 || param.getAbCode().equals("60081")
@@ -82,18 +99,7 @@ public class RankService {
                 || param.getAbCode().equals("60094")
                 || param.getAbCode().equals("60095")
                 || param.getAbCode().equals("60096")) {
-            // 地域召回要做截取,再做融合排序
-            removeDuplicate(rovRecallRank);
-            rovRecallRank = rovRecallRank.size() <= param.getSize()
-                    ? rovRecallRank
-                    : rovRecallRank.subList(0, param.getSize());
-
-            // merge sim recall 和 return recall
-            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());
@@ -107,29 +113,10 @@ public class RankService {
                 }
                 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);
         }
         return rovRecallRank;
     }
 
-    private void removeDuplicate(List<Video> rovRecallRank) {
-        if (CollectionUtils.isNotEmpty(rovRecallRank)) {
-            Set<Long> videoIds = new HashSet<>();
-            Iterator<Video> ite = rovRecallRank.iterator();
-            while (ite.hasNext()) {
-                Video v = ite.next();
-                if (videoIds.contains(v.getVideoId())) {
-                    ite.remove();
-                    continue;
-                }
-                videoIds.add(v.getVideoId());
-            }
-        }
-    }
-
     private List<Video> mergeAndRankFlowPoolRecall(RankParam param) {
         if (param.getAppType() == AppTypeEnum.LAO_HAO_KAN_VIDEO.getCode()
                 || param.getAppType() == AppTypeEnum.ZUI_JING_QI.getCode()) {