Ver Fonte

Merge branch 'wyp/1006-similarity-score' of Server/long-article-recommend into master

wangyunpeng há 9 meses atrás
pai
commit
c5fcce7234
11 ficheiros alterados com 46 adições e 11 exclusões
  1. 3 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/DefaultRankStrategy.java
  2. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV10Strategy.java
  3. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV11Strategy.java
  4. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV12Strategy.java
  5. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV3Strategy.java
  6. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV4Strategy.java
  7. 3 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV5Strategy.java
  8. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV7Strategy.java
  9. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV8Strategy.java
  10. 4 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV9Strategy.java
  11. 8 1
      long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/score/ScoreService.java

+ 3 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/DefaultRankStrategy.java

@@ -81,7 +81,9 @@ public class DefaultRankStrategy implements RankStrategy {
             }
         }
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+                      if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV10Strategy.java

@@ -69,7 +69,10 @@ public class RankV10Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV11Strategy.java

@@ -89,7 +89,10 @@ public class RankV11Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV12Strategy.java

@@ -89,7 +89,10 @@ public class RankV12Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV3Strategy.java

@@ -68,7 +68,10 @@ public class RankV3Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV4Strategy.java

@@ -68,7 +68,10 @@ public class RankV4Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 3 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV5Strategy.java

@@ -66,7 +66,9 @@ public class RankV5Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+               if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV7Strategy.java

@@ -69,7 +69,10 @@ public class RankV7Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV8Strategy.java

@@ -72,7 +72,10 @@ public class RankV8Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 4 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/rank/strategy/RankV9Strategy.java

@@ -69,7 +69,10 @@ public class RankV9Strategy implements RankStrategy {
             return item;
         });
         // 相似度评分为0 报警返回
-        if (CollectionUtils.isNotEmpty(items) && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
+        
+        if (CollectionUtils.isNotEmpty(items)
+                && items.get(0).getScoreMap().containsKey(SimilarityStrategy.class.getSimpleName())
+                && items.get(0).getScoreMap().get(SimilarityStrategy.class.getSimpleName()) == 0) {
             FeishuMessageSender.sendWebHookMessage("07026a9f-43f5-448b-ba40-a8d71bd6e634",
                     "内容评分为0\n"
                             + "ghId: " + param.getGhId() + "\n"

+ 8 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/score/ScoreService.java

@@ -1,6 +1,7 @@
 package com.tzld.longarticle.recommend.server.service.score;
 
 
+import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
 import com.tzld.longarticle.recommend.server.common.ThreadPoolFactory;
 import com.tzld.longarticle.recommend.server.common.enums.RankStrategyEnum;
 import com.tzld.longarticle.recommend.server.service.score.strategy.*;
@@ -9,6 +10,7 @@ import com.tzld.longarticle.recommend.server.util.JSONUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
 import org.springframework.stereotype.Service;
@@ -34,6 +36,9 @@ public class ScoreService implements ApplicationContextAware {
     private ApplicationContext applicationContext;
     private final ExecutorService pool = ThreadPoolFactory.scorePool();
 
+    @ApolloJsonValue("${similarity.stop.strategy.flag:[]}")
+    private List<String> similarityStopStrategies;
+
     @PostConstruct
     public void init() {
         Map<String, ScoreStrategy> type = applicationContext.getBeansOfType(ScoreStrategy.class);
@@ -87,7 +92,9 @@ public class ScoreService implements ApplicationContextAware {
 
     private List<ScoreStrategy> getScoreStrategy(ScoreParam param) {
         List<ScoreStrategy> strategies = new ArrayList<>();
-        strategies.add(strategyMap.get(SimilarityStrategy.class.getSimpleName()));
+        if (!similarityStopStrategies.contains(param.getStrategy())) {
+            strategies.add(strategyMap.get(SimilarityStrategy.class.getSimpleName()));
+        }
         strategies.add(strategyMap.get(ViewCountStrategy.class.getSimpleName()));
         if (StringUtils.equals(param.getStrategy(), RankStrategyEnum.ArticleRankV3.getStrategy())
                 || StringUtils.equals(param.getStrategy(), RankStrategyEnum.ArticleRankV4.getStrategy())