|
@@ -79,8 +79,8 @@ public class RankService680 {
|
|
adRankItem.setCpa(dto.getCpa());
|
|
adRankItem.setCpa(dto.getCpa());
|
|
adRankItem.setId(dto.getAdId());
|
|
adRankItem.setId(dto.getAdId());
|
|
adRankItem.setCampaignId(dto.getCampaignId());
|
|
adRankItem.setCampaignId(dto.getCampaignId());
|
|
- adRankItem.getExt().put("getFeatureElapsed", String.valueOf(getFeatureElapsed));
|
|
|
|
- adRankItem.getExt().put("invokeFeatureServiceElapsed", String.valueOf(invokeFeatureServiceElapsed));
|
|
|
|
|
|
+ adRankItem.getExt().put("getFeatureElapsed", getFeatureElapsed);
|
|
|
|
+ adRankItem.getExt().put("invokeFeatureServiceElapsed", invokeFeatureServiceElapsed);
|
|
|
|
|
|
String cidStr = dto.getCreativeId().toString();
|
|
String cidStr = dto.getCreativeId().toString();
|
|
Map<String, String> cidFeatureMap = new HashMap<>();
|
|
Map<String, String> cidFeatureMap = new HashMap<>();
|
|
@@ -114,21 +114,25 @@ public class RankService680 {
|
|
}
|
|
}
|
|
|
|
|
|
// 分桶
|
|
// 分桶
|
|
|
|
+ long featureBucketStart = System.currentTimeMillis();
|
|
this.readBucketFile();
|
|
this.readBucketFile();
|
|
userFeatureMap = this.featureBucket(userFeatureMap);
|
|
userFeatureMap = this.featureBucket(userFeatureMap);
|
|
for (AdRankItem adRankItem : adRankItems) {
|
|
for (AdRankItem adRankItem : adRankItems) {
|
|
Map<String, String> featureMap = adRankItem.getFeatureMap();
|
|
Map<String, String> featureMap = adRankItem.getFeatureMap();
|
|
adRankItem.setFeatureMap(this.featureBucket(featureMap));
|
|
adRankItem.setFeatureMap(this.featureBucket(featureMap));
|
|
|
|
+ adRankItem.getExt().put("featureBucketElapsed", System.currentTimeMillis() - featureBucketStart);
|
|
}
|
|
}
|
|
|
|
|
|
// 打分排序
|
|
// 打分排序
|
|
|
|
+ long scoreStart = System.currentTimeMillis();
|
|
List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.LR_ROV_SCORE_20240626)
|
|
List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.LR_ROV_SCORE_20240626)
|
|
.scoring(new HashMap<>(), userFeatureMap, adRankItems);
|
|
.scoring(new HashMap<>(), userFeatureMap, adRankItems);
|
|
-
|
|
|
|
|
|
+ long scoreElapsed = System.currentTimeMillis() - scoreStart;
|
|
for (AdRankItem item : result) {
|
|
for (AdRankItem item : result) {
|
|
item.setScore(item.getLrScore() * item.getCpa());
|
|
item.setScore(item.getLrScore() * item.getCpa());
|
|
item.getScoreMap().put("cpa", item.getCpa());
|
|
item.getScoreMap().put("cpa", item.getCpa());
|
|
item.getFeatureMap().putAll(userFeatureMap);
|
|
item.getFeatureMap().putAll(userFeatureMap);
|
|
|
|
+ item.getExt().put("scoreElapsed", scoreElapsed);
|
|
|
|
|
|
for (Map.Entry<String, Map<String, String>> entry : videoFeature.entrySet()) {
|
|
for (Map.Entry<String, Map<String, String>> entry : videoFeature.entrySet()) {
|
|
if (MapUtils.isNotEmpty(entry.getValue())) {
|
|
if (MapUtils.isNotEmpty(entry.getValue())) {
|