Quellcode durchsuchen

MOD: limit Share recall number

sunxy vor 11 Monaten
Ursprung
Commit
108afe8294

+ 5 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/rank/RankService.java

@@ -150,6 +150,7 @@ public class RankService {
                 || param.getAbCode().equals("60103")
                 || param.getAbCode().equals("60104")
                 || param.getAbCode().equals("60110")
+                || param.getAbCode().equals("60150")
         ) {
             // 地域召回要做截取,再做融合排序
             removeDuplicate(rovRecallRank);
@@ -166,6 +167,10 @@ public class RankService {
             if (param.getAbCode().equals("60112")) {
                 rovRecallRank.addAll(extractAndSort(param, RegionRealtimeRecallStrategyV5Hand.PUSH_FORM));
             }
+            if (param.getAbCode().equals("60150")) {
+                rovRecallRank.addAll(extractAndSort(param, ShareDeepRecallStrategy.PUSH_FORM));
+                rovRecallRank.addAll(extractAndSort(param, ShareWidthRecallStrategy.PUSH_FORM));
+            }
             removeDuplicate(rovRecallRank);
 
             // 融合排序

+ 3 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/ShareDeepRecallStrategy.java

@@ -26,6 +26,8 @@ public class ShareDeepRecallStrategy implements RecallStrategy {
 
     @Value("${ShareDeepRecallStrategyRecallNumber:500}")
     private String shareDeepRecallStrategyRecallNumber;
+    @Value("${ShareDeepRecallStrategyRecallNumberAfterFilter:20}")
+    private String shareDeepRecallStrategyRecallNumberAfterFilter;
 
     public static final String PUSH_FORM = "share_deep_recall_strategy";
 
@@ -54,7 +56,7 @@ public class ShareDeepRecallStrategy implements RecallStrategy {
         FilterResult filterResult = filterService.filter(filterParam);
         List<Video> videosResult = new ArrayList<>();
         if (filterResult != null && CollectionUtils.isNotEmpty(filterResult.getVideoIds())) {
-            filterResult.getVideoIds().forEach(vid -> {
+            filterResult.getVideoIds().stream().limit(Integer.parseInt(shareDeepRecallStrategyRecallNumberAfterFilter)).forEach(vid -> {
                 Video video = new Video();
                 video.setVideoId(vid);
                 video.setAbCode(param.getAbCode());

+ 3 - 1
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/ShareWidthRecallStrategy.java

@@ -26,6 +26,8 @@ public class ShareWidthRecallStrategy implements RecallStrategy {
 
     @Value("${ShareDeepRecallStrategyRecallNumber:500}")
     private String shareDeepRecallStrategyRecallNumber;
+    @Value("${ShareDeepRecallStrategyRecallNumberAfterFilter:20}")
+    private String shareDeepRecallStrategyRecallNumberAfterFilter;
 
     public static final String PUSH_FORM = "share_width_recall_strategy";
 
@@ -54,7 +56,7 @@ public class ShareWidthRecallStrategy implements RecallStrategy {
         FilterResult filterResult = filterService.filter(filterParam);
         List<Video> videosResult = new ArrayList<>();
         if (filterResult != null && CollectionUtils.isNotEmpty(filterResult.getVideoIds())) {
-            filterResult.getVideoIds().forEach(vid -> {
+            filterResult.getVideoIds().stream().limit(Integer.parseInt(shareDeepRecallStrategyRecallNumberAfterFilter)).forEach(vid -> {
                 Video video = new Video();
                 video.setVideoId(vid);
                 video.setAbCode(param.getAbCode());