Procházet zdrojové kódy

homepage recommend

丁云鹏 před 1 rokem
rodič
revize
d03f6d4a75

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

@@ -92,11 +92,13 @@ public class RankService {
             List<String> videoIdKeys = rovRecallRank.stream()
                     .map(t -> param.getRankKeyPrefix() + t.getVideoId())
                     .collect(Collectors.toList());
-            List<String> video_scores = redisTemplate.opsForValue().multiGet(videoIdKeys);
-            if (CollectionUtils.isNotEmpty(video_scores)
-                    && video_scores.size() == rovRecallRank.size()) {
-                for (int i = 0; i < video_scores.size(); i++) {
-                    rovRecallRank.get(i).setSortScore(NumberUtils.toDouble(video_scores.get(i), 0.0));
+            List<String> videoScores = redisTemplate.opsForValue().multiGet(videoIdKeys);
+            log.info("rank mergeAndRankRovRecall videoIdKeys={}, videoScores={}", JSONUtils.toJson(videoIdKeys),
+                    JSONUtils.toJson(videoScores));
+            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()));
             }

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

@@ -50,7 +50,7 @@ public abstract class AbstractFlowPoolWithLevelScoreRecallStrategy implements Re
             videoFlowPoolMap.put(NumberUtils.toLong(values[0], 0), values[1]);
             videoScoreMap.put(NumberUtils.toLong(values[0], 0), t.getScore());
         }
-        log.info("reverseRangeWithScores videoScoreMap={}, videoFlowPoolMap={}",
+        log.info("abstractFlowPoolWithLevelScoreRecallStrategy videoScoreMap={}, videoFlowPoolMap={}",
                 JSONUtils.toJson(videoScoreMap),
                 JSONUtils.toJson(videoFlowPoolMap));
         FilterResult filterResult = filterService.filter(FilterParamFactory.create(param, videoFlowPoolMap));

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

@@ -47,7 +47,7 @@ public abstract class AbstractFlowPoolWithScoreRecallStrategy implements RecallS
             videoFlowPoolMap.put(NumberUtils.toLong(values[0], 0), values[1]);
             videoScoreMap.put(NumberUtils.toLong(values[0], 0), t.getScore());
         }
-        log.info("reverseRangeWithScores videoScoreMap={}, videoFlowPoolMap={}",
+        log.info("AbstractFlowPoolWithScoreRecallStrategy videoScoreMap={}, videoFlowPoolMap={}",
                 JSONUtils.toJson(videoScoreMap),
                 JSONUtils.toJson(videoFlowPoolMap));
         FilterResult filterResult = filterService.filter(FilterParamFactory.create(param, videoFlowPoolMap));

+ 4 - 4
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/recall/strategy/AbstractRegionRecallStrategy.java

@@ -144,8 +144,8 @@ public abstract class AbstractRegionRecallStrategy implements RecallStrategy {
             }
         }
 
-        // 如果不限制返回size个数据,可以迁移到排序阶段
-        // Collections.sort(results, Comparator.comparingDouble(o -> -o.getRovScore()));
+        // TODO 如果不限制返回size个数据,可以迁移到排序阶段
+        Collections.sort(results, Comparator.comparingDouble(o -> -o.getRovScore()));
 
         // 这里是一个优化:如果所有数据都被过滤,说明下一次召回可以直接从lastVideo开始
         // TODO 可以优化成异步更新
@@ -156,8 +156,8 @@ public abstract class AbstractRegionRecallStrategy implements RecallStrategy {
             redisTemplate.opsForValue().set(lastVideoKey, lastVideoId, 2, TimeUnit.HOURS);
         }
 
-        // return results.subList(0, results.size() < param.getSize() ? results.size() : param.getSize());
-        return results;
+        return results.subList(0, results.size() < param.getSize() ? results.size() : param.getSize());
+        // return results;
     }
 
     private int getIdx(String lastVideoKey, String poolKey) {

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

@@ -9,7 +9,6 @@ import com.tzld.piaoquan.recommend.server.service.recall.FilterParamFactory;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallStrategy;
 import com.tzld.piaoquan.recommend.server.util.JSONUtils;
-import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -52,7 +51,7 @@ public abstract class AbstractVideoRecallStrategy implements RecallStrategy {
 
         FilterResult filterResult = filterService.filter(FilterParamFactory.create(param, Lists.newArrayList(videoScoreMap.keySet())));
         log.info("recall filterResult={}", JSONUtils.toJson(filterResult));
-        
+
         if (filterResult != null && CollectionUtils.isNotEmpty(filterResult.getVideoIds())) {
             filterResult.getVideoIds().stream().forEach(vid -> {
                 Video recallData = new Video();
@@ -68,11 +67,5 @@ public abstract class AbstractVideoRecallStrategy implements RecallStrategy {
         return results;
     }
 
-    @Data
-    class Item {
-        private String videoId;
-        private String score;
-    }
-
     abstract String recallKey(RecallParam param);
 }