Browse Source

Merge branch 'master' into feature/sunxiaoyi_recall

zhangbo 1 year ago
parent
commit
c3f8677da9

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

@@ -51,7 +51,7 @@ public class FestivalRecallStrategyV1 implements RecallStrategy {
         FilterResult filterResult = filterService.filter(filterParam);
         long t2 = new Long(System.currentTimeMillis());
         JSONObject obj = new JSONObject();
-        obj.put("name", "RegionRealtimeRecallStrategyV1");
+        obj.put("name", "FestivalRecallStrategyV1");
         obj.put("filter_time", t2-t1);
         obj.put("sizeOld", videoMap.size());
         List<Video> videosResult = new ArrayList<>();

+ 1 - 0
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/ScorerUtils.java

@@ -37,6 +37,7 @@ public final class ScorerUtils {
         ScorerUtils.init4Recall("feeds_recall_config_region_v2.conf");
         ScorerUtils.init4Recall("feeds_recall_config_region_v3.conf");
         ScorerUtils.init4Recall("feeds_recall_config_region_v4.conf");
+        ScorerUtils.init4Recall("feeds_score_config_festival.conf");
     }
 
     private ScorerUtils() {

+ 6 - 7
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score4recall/strategy/FestivalRecallScore.java

@@ -141,26 +141,29 @@ public class FestivalRecallScore extends AbstractScorer4Recall {
             return new ArrayList<>();
         }
         List<Pair<Long, Double>> result = new ArrayList<>();
+        LocalDateTime now = LocalDateTime.now();
         for (Map.Entry<String, List<String>> entry : FESTIVAL_TIME_MAP.entrySet()) {
             String festival = entry.getKey();
             List<String> timeRangeList = entry.getValue();
-            if (isFestivalTime(timeRangeList)) {
+            if (isFestivalTime(now, timeRangeList)) {
                 List<Pair<Long, Double>> festivalLists = model.kv.getOrDefault(festival, new ArrayList<>());
                 if (festivalLists.isEmpty()) {
                     continue;
                 }
+                festivalLists = festivalLists.subList(0, Math.min(100, festivalLists.size()));
                 result.addAll(festivalLists);
             }
         }
         // 固定获取常规祝福类的小程序
         List<Pair<Long, Double>> festivalLists = model.kv.getOrDefault("祝福", new ArrayList<>());
         if (!festivalLists.isEmpty()) {
+            festivalLists = festivalLists.subList(0, Math.min(100, festivalLists.size()));
             result.addAll(festivalLists);
         }
-        return result.subList(0, Math.min(100, result.size()));
+        return result;
     }
 
-    public boolean isFestivalTime(List<String> timeRangeList) {
+    public boolean isFestivalTime(LocalDateTime now, List<String> timeRangeList) {
         if (timeRangeList == null || timeRangeList.isEmpty()) {
             return false;
         }
@@ -175,8 +178,6 @@ public class FestivalRecallScore extends AbstractScorer4Recall {
                 }
                 String startTime = split[0];
                 String endTime = split[1];
-                // 获取当前时间
-                LocalDateTime now = LocalDateTime.now();
                 // 获取当前时间的小时和分钟
                 int hour = now.getHour();
                 int minute = now.getMinute();
@@ -214,8 +215,6 @@ public class FestivalRecallScore extends AbstractScorer4Recall {
             }
             String startTime = split[0];
             String endTime = split[1];
-            // 获取当前时间
-            LocalDateTime now = LocalDateTime.now();
             // 解析 startTime endTime
             DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
             LocalDateTime startLocalDateTime = LocalDateTime.parse(startTime, dateTimeFormatter);

+ 1 - 1
recommend-server-service/src/main/resources/feeds_score_config_festival.conf

@@ -1,7 +1,7 @@
 scorer-config = {
   festival-score-config = {
     scorer-name = "com.tzld.piaoquan.recommend.server.service.score4recall.strategy.FestivalRecallScore"
-    scorer-priority = 99
+    scorer-priority = 100
     model-path = "alg_recall_file/05_festival.txt"
   }
 }