|  | @@ -225,16 +225,7 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              double originScoreRos = item.getScoreRos();
 | 
	
		
			
				|  |  | -            double scoreRos = ExtractorUtils.inverseLog(originScoreRos);
 | 
	
		
			
				|  |  | -            if (calcRosMode == 1d) {
 | 
	
		
			
				|  |  | -                double rosPower = mergeWeight.getOrDefault("ros_power", 5d);
 | 
	
		
			
				|  |  | -                item.getScoresMap().put("rosPower", rosPower);
 | 
	
		
			
				|  |  | -                scoreRos = Math.pow(scoreRos, rosPower);
 | 
	
		
			
				|  |  | -            } else if (calcRosMode == 2d) {
 | 
	
		
			
				|  |  | -                double modelRosCoefficient = mergeWeight.getOrDefault("model_ros_coefficient", 8d);
 | 
	
		
			
				|  |  | -                item.getScoresMap().put("modelRosCoefficient", modelRosCoefficient);
 | 
	
		
			
				|  |  | -                scoreRos = ExtractorUtils.inverseLog(originScoreRos * modelRosCoefficient);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +            double scoreRos = this.handleRos(originScoreRos, calcRosMode, item);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              item.getScoresMap().put("hasReturnRovScore", scoreRos);
 | 
	
	
		
			
				|  | @@ -279,7 +270,31 @@ public class RankStrategy4RegionMergeModelV569 extends RankStrategy4RegionMergeM
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private double handleRos(double originScoreRos, double calcRosMode, RankItem item) {
 | 
	
		
			
				|  |  | +        if (originScoreRos == 0) {
 | 
	
		
			
				|  |  | +            return 0;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        double scoreRos = ExtractorUtils.inverseLog(originScoreRos);
 | 
	
		
			
				|  |  | +        if (calcRosMode == 1d) {
 | 
	
		
			
				|  |  | +            double rosPower = mergeWeight.getOrDefault("le_ros_power", 5d);
 | 
	
		
			
				|  |  | +            if (scoreRos > 1){
 | 
	
		
			
				|  |  | +                rosPower  = mergeWeight.getOrDefault("gt_1_ros_poewr", 1.5d);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            item.getScoresMap().put("rosPower", rosPower);
 | 
	
		
			
				|  |  | +            scoreRos = Math.pow(scoreRos, rosPower);
 | 
	
		
			
				|  |  | +        } else if (calcRosMode == 2d) {
 | 
	
		
			
				|  |  | +            double modelRosCoefficient = mergeWeight.getOrDefault("model_ros_coefficient", 8d);
 | 
	
		
			
				|  |  | +            item.getScoresMap().put("modelRosCoefficient", modelRosCoefficient);
 | 
	
		
			
				|  |  | +            scoreRos = ExtractorUtils.inverseLog(originScoreRos * modelRosCoefficient);
 | 
	
		
			
				|  |  | +        } else if (calcRosMode == 3d) {
 | 
	
		
			
				|  |  | +            double rosPower = mergeWeight.getOrDefault("ros_power", 5d);
 | 
	
		
			
				|  |  | +            item.getScoresMap().put("rosPower", rosPower);
 | 
	
		
			
				|  |  | +            scoreRos = Math.pow(scoreRos, rosPower);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        return scoreRos;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 | 
	
		
			
				|  |  |       * ros模型打分
 |