|
@@ -57,21 +57,25 @@ public class RankStrategy4RegionMergeModelV568 extends RankStrategy4RegionMergeM
|
|
|
|
|
|
Matcher matcher = FeatureUtils.getChannelMatcher(param.getRootSourceId());
|
|
Matcher matcher = FeatureUtils.getChannelMatcher(param.getRootSourceId());
|
|
if (null != matcher && matcher.find() && FeatureUtils.firstLevel(param.getUserShareDepth())) {
|
|
if (null != matcher && matcher.find() && FeatureUtils.firstLevel(param.getUserShareDepth())) {
|
|
- // channel rovn
|
|
|
|
- int channelROVN = mergeWeight.getOrDefault("channelROVN", 4.0).intValue();
|
|
|
|
- addRecall(param, channelROVN, ChannelROVRecallStrategy.PUSH_FORM, setVideo, rovRecallRank);
|
|
|
|
//-------------------return相似召回------------------
|
|
//-------------------return相似召回------------------
|
|
List<Video> v6 = extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM);
|
|
List<Video> v6 = extractAndSort(param, ReturnVideoRecallStrategy.PUSH_FORM);
|
|
v6 = v6.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|
|
v6 = v6.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|
|
v6 = v6.subList(0, Math.min(mergeWeight.getOrDefault("v6", 4.0).intValue(), v6.size()));
|
|
v6 = v6.subList(0, Math.min(mergeWeight.getOrDefault("v6", 4.0).intValue(), v6.size()));
|
|
rovRecallRank.addAll(v6);
|
|
rovRecallRank.addAll(v6);
|
|
setVideo.addAll(v6.stream().map(Video::getVideoId).collect(Collectors.toSet()));
|
|
setVideo.addAll(v6.stream().map(Video::getVideoId).collect(Collectors.toSet()));
|
|
|
|
+ // channel rovn
|
|
|
|
+ int channelROVN = mergeWeight.getOrDefault("channelROVN", 4.0).intValue();
|
|
|
|
+ addRecall(param, channelROVN, ChannelROVRecallStrategy.PUSH_FORM, setVideo, rovRecallRank);
|
|
// 老地域
|
|
// 老地域
|
|
v0 = v0.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|
|
v0 = v0.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|
|
rovRecallRank.addAll(v0);
|
|
rovRecallRank.addAll(v0);
|
|
setVideo.addAll(v0.stream().map(Video::getVideoId).collect(Collectors.toSet()));
|
|
setVideo.addAll(v0.stream().map(Video::getVideoId).collect(Collectors.toSet()));
|
|
- // 不排序,直接返回
|
|
|
|
- return rovRecallRank;
|
|
|
|
|
|
+
|
|
|
|
+ // 是否排序
|
|
|
|
+ boolean firstLevelRank = mergeWeight.getOrDefault("firstLevelRank", 0D).intValue() > 0;
|
|
|
|
+ if (!firstLevelRank) {
|
|
|
|
+ return rovRecallRank;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
// 老地域
|
|
// 老地域
|
|
v0 = v0.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|
|
v0 = v0.stream().filter(r -> !setVideo.contains(r.getVideoId())).collect(Collectors.toList());
|