#375 基于分享行为的i2i召回

已合併
zhaohaipeng 1 周之前 將 1 次代碼提交從 algorithm/feature-20251211-sharei2i合併至 algorithm/master

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

@@ -23,7 +23,9 @@ public abstract class SocialI2IBasicRecallStrategy implements RecallStrategy {
 
     private final String CLASS_NAME = this.getClass().getSimpleName();
 
-    private static final String REDIS_KEY_FORMAT = "user_social_i2i_recall:";
+//    private static final String REDIS_KEY_FORMAT = "user_social_i2i_recall:";
+//    private static final String REDIS_KEY_FORMAT = "user_shares_i2i_recall:";
+    private static final String DEFAULT_REDIS_KEY_FORMAT = "user_social_i2i_recall:";
 
     @Autowired
     private FilterService filterService;
@@ -34,6 +36,10 @@ public abstract class SocialI2IBasicRecallStrategy implements RecallStrategy {
 
     protected abstract List<Long> genLeftItemList(RecallParam param);
 
+    protected String getRedisKeyFormat() {
+        return DEFAULT_REDIS_KEY_FORMAT;
+    }
+
     @Override
     public List<Video> recall(RecallParam param) {
         List<Video> videos = new ArrayList<>();
@@ -45,8 +51,8 @@ public abstract class SocialI2IBasicRecallStrategy implements RecallStrategy {
                 return videos;
             }
 
-            Map<Long, List<Pair<Long, Double>>> recallResult = this.multiGetRecallResult(REDIS_KEY_FORMAT, leftItems);
-
+//            Map<Long, List<Pair<Long, Double>>> recallResult = this.multiGetRecallResult(REDIS_KEY_FORMAT, leftItems);
+            Map<Long, List<Pair<Long, Double>>> recallResult = this.multiGetRecallResult(this.getRedisKeyFormat(), leftItems);
 
             // 打平多个视频的召回,并按照分数从大到小排序
             List<Pair<Long, Double>> recallPair = this.flatAndSortRecallResult(recallResult);

+ 7 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/SocialI2IHistoryShareRecallStrategy.java

@@ -20,6 +20,7 @@ public class SocialI2IHistoryShareRecallStrategy extends SocialI2IBasicRecallStr
 
     public static final String PUSH_FROM = "social_i2i_history_share_recall";
 
+    private static final String CUSTOM_REDIS_KEY_FORMAT = "user_shares_i2i_recall:";
     @Override
     protected List<Long> genLeftItemList(RecallParam param) {
         if (MapUtils.isEmpty(param.getUserSocialRecallInfo())) {
@@ -37,4 +38,10 @@ public class SocialI2IHistoryShareRecallStrategy extends SocialI2IBasicRecallStr
     public String pushFrom() {
         return PUSH_FROM;
     }
+
+
+    @Override
+    protected String getRedisKeyFormat() {
+        return CUSTOM_REDIS_KEY_FORMAT;
+    }
 }