Преглед изворни кода

refactor: dk_elements 召回 Redis key 从 elements_ros_recall 改为 elements_rovn_recall

跟随上游信号切换 (return-over-share -> return-over-view-normalized):
- redisKeyPrefix: elements_ros_recall -> elements_rovn_recall (两路 strategy)
- 上游 ODPS 表名注释: alg_recsys_recall_elements_ros -> alg_recsys_recall_elements_rovn
- 类 javadoc 标题 / 注释 / 得分描述 同步 ros -> rovn

零行为变更, 只是命名 + key prefix 与上游对齐. 上游 e.sql writer keyPrefix
和源 ODPS 表已对应改动 (数据团队负责).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
yangxiaohui пре 3 дана
родитељ
комит
42e75bca3d

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

@@ -180,8 +180,8 @@ public class RecallService implements ApplicationContextAware {
         // 22 路召回都跑, rank 类 extractAllAndTruncateByCoarseRank 按白名单 + 粗排分挑选.
         //
         // V562/V565 各承载一个 dk_elements 实验, 互相隔离便于独立归因:
-        //   V562 → YearShareDkElements:   用户近期 share 行为 join dk_elements -> elements_ros_recall 倒排
-        //   V565 → UserProfileDkElements: 用户元素画像 (s_z_y_s/zt_gyf)     -> elements_ros_recall 倒排
+        //   V562 → YearShareDkElements:   用户近期 share 行为 join dk_elements -> elements_rovn_recall 倒排
+        //   V565 → UserProfileDkElements: 用户元素画像 (s_z_y_s/zt_gyf)     -> elements_rovn_recall 倒排
         boolean isHit562Exp = experimentService.judgeHitAlgoExp(param.getAppType(), param.getRootSessionId(), abExpCodes, "562");
         if (isHit562Exp) {
             strategies.add(strategyMap.get(YearShareDkElementsRecallStrategy.class.getSimpleName()));

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

@@ -23,13 +23,13 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 /**
- * 用户画像 实质元素 ros 召回
+ * 用户画像 实质元素 rovn 召回
  *   数据源: param.userNetworkSeqFeature 里的 s_z_y_s (元素列表) + zt_gyf (归一分列表)
  *           上游 alg_user_network_seq_feature 已新增, 来自 user_element_profile_hot
  *           top_elements = UNION ALL(positive_ranked, negative_ranked), 所以归一分可能为负
  *
  *   逻辑: (element, score) pair 按 score DESC 取前 topN=30 正向元素 -> 一次 multiGet
- *         elements_ros_recall:{kw} 倒排 -> 同 vid 取 max score -> 排序 -> filter
+ *         elements_rovn_recall:{kw} 倒排 -> 同 vid 取 max score -> 排序 -> filter
  *   只取正向 (score > 0), 避免召回用户厌恶元素
  *
  *   跟 YearShareDkElementsRecallStrategy 共用 Redis 倒排 key, 仅用户兴趣源 + 取法不同
@@ -49,7 +49,7 @@ public class UserProfileDkElementsRecallStrategy implements RecallStrategy {
 
     public static final int topN = 30;
     public static final String PUSH_FROM = "recall_user_profile_dk_elements";
-    public static final String redisKeyPrefix = "elements_ros_recall";
+    public static final String redisKeyPrefix = "elements_rovn_recall";
 
     public static final String KEY_ELEMENTS = "s_z_y_s";
     public static final String KEY_SCORES = "zt_gyf";

+ 5 - 5
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/YearShareDkElementsRecallStrategy.java

@@ -24,15 +24,15 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 /**
- * 视频解构 实质元素 ros 召回 (用户近期 share 行为 -> dk_elements)
+ * 视频解构 实质元素 rovn 召回 (用户近期 share 行为 -> dk_elements)
  *   每个 share vid 一般有多个 element, parseUserActionVideoAndElements 返回扁平的 (vid, element) pair 列表;
  *   parse 时已按 c >= MIN_CONTRIB_SCORE (0.8) 过滤掉低贡献分元素, 噪声不进召回.
  *
  *   挑 kw 逻辑: 按近期 share 行为时间序遍历摊平 element, distinct 取前 topN (30) 个 -> 一次 multiGet
- *               elements_ros_recall:{kw} 倒排. 不再做"最近+最频"并集 (元素粒度比 cate2 细, 取近期 30 更直接).
+ *               elements_rovn_recall:{kw} 倒排. 不再做"最近+最频"并集 (元素粒度比 cate2 细, 取近期 30 更直接).
  *
- *   上游 ODPS: alg_recsys_recall_elements_ros (原始元素 -> top-50 vid + ros 得分)
- *   Redis key: elements_ros_recall:{原始元素}
+ *   上游 ODPS: alg_recsys_recall_elements_rovn (原始元素 -> top-50 vid + rovn 得分)
+ *   Redis key: elements_rovn_recall:{原始元素}
  *   value: vid1,vid2,...\tscore1,score2,...
  */
 @Slf4j
@@ -49,7 +49,7 @@ public class YearShareDkElementsRecallStrategy implements RecallStrategy {
     private final String CLASS_NAME = this.getClass().getSimpleName();
 
     public static final String PUSH_FROM = "recall_user_year_share_dk_elements";
-    public static final String redisKeyPrefix = "elements_ros_recall";
+    public static final String redisKeyPrefix = "elements_rovn_recall";
 
     /** 元素贡献分过滤阈值 (parse 时丢弃 c < 0.8 的 element, 噪声元素不进召回) */
     public static final double MIN_CONTRIB_SCORE = 0.8;