瀏覽代碼

homepage recommend

丁云鹏 1 年之前
父節點
當前提交
9089f77394

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

@@ -3,6 +3,7 @@ package com.tzld.piaoquan.recommend.server.service.recall.strategy;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConfigService;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConstants;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
+import com.tzld.piaoquan.recommend.server.util.JSONUtils;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -44,12 +45,15 @@ public class FlowPoolWithLevelRecallStrategy extends AbstractFlowPoolWithLevelRe
                 availableLevels.add(lw);
             }
         }
+        log.info("flowPoolKeyAndLevel availableLevels={}", JSONUtils.toJson(availableLevels));
         if (CollectionUtils.isEmpty(availableLevels)) {
             return Pair.of("", "");
         }
 
         // 3. 根据可分发层级权重设置分发概率
         Collections.sort(availableLevels, Comparator.comparingDouble(LevelWeight::getWeight));
+        log.info("flowPoolKeyAndLevel sorted availableLevels={}", JSONUtils.toJson(availableLevels));
+
         double weightSum = availableLevels.stream().mapToDouble(o -> o.getWeight()).sum();
         BigDecimal weightSumBD = new BigDecimal(weightSum);
         double level_p_low = 0;
@@ -70,8 +74,8 @@ public class FlowPoolWithLevelRecallStrategy extends AbstractFlowPoolWithLevelRe
         }
 
         // 4. 随机生成[0,1)之间数,返回相应概率区间的key
-
         double random_p = RandomUtils.nextDouble(0, 1);
+        log.info("flowPoolKeyAndLevel level_p_mapping={}, random_p={}", JSONUtils.toJson(level_p_mapping), random_p);
         for (Map.Entry<String, LevelP> entry : level_p_mapping.entrySet()) {
             if (random_p >= entry.getValue().getMin()
                     && random_p >= entry.getValue().getMax()) {

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

@@ -3,6 +3,7 @@ package com.tzld.piaoquan.recommend.server.service.recall.strategy;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConfigService;
 import com.tzld.piaoquan.recommend.server.service.flowpool.FlowPoolConstants;
 import com.tzld.piaoquan.recommend.server.service.recall.RecallParam;
+import com.tzld.piaoquan.recommend.server.util.JSONUtils;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -43,12 +44,15 @@ public class FlowPoolWithLevelScoreRecallStrategy extends AbstractFlowPoolWithLe
                 availableLevels.add(lw);
             }
         }
+        log.info("flowPoolKeyAndLevel availableLevels={}", JSONUtils.toJson(availableLevels));
         if (CollectionUtils.isEmpty(availableLevels)) {
             return Pair.of("", "");
         }
 
         // 3. 根据可分发层级权重设置分发概率
         Collections.sort(availableLevels, Comparator.comparingDouble(LevelWeight::getWeight));
+        log.info("flowPoolKeyAndLevel sorted availableLevels={}", JSONUtils.toJson(availableLevels));
+
         double weightSum = availableLevels.stream().mapToDouble(o -> o.getWeight()).sum();
         BigDecimal weightSumBD = new BigDecimal(weightSum);
         double level_p_low = 0;
@@ -71,6 +75,7 @@ public class FlowPoolWithLevelScoreRecallStrategy extends AbstractFlowPoolWithLe
         // 4. 随机生成[0,1)之间数,返回相应概率区间的key
 
         double random_p = RandomUtils.nextDouble(0, 1);
+        log.info("flowPoolKeyAndLevel level_p_mapping={}, random_p={}", JSONUtils.toJson(level_p_mapping), random_p);
         for (Map.Entry<String, LevelP> entry : level_p_mapping.entrySet()) {
             if (random_p >= entry.getValue().getMin()
                     && random_p >= entry.getValue().getMax()) {