|
|
@@ -30,29 +30,11 @@ public interface RankStrategy {
|
|
|
for (int i = 0; i < result.size(); i++) {
|
|
|
if (TitleSimilarCheckUtil.isDuplicateContent(result.get(i).getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
|
|
|
if (i == 0) {
|
|
|
- for (Content content : contentMap.get(publishPool[0])) {
|
|
|
- if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
|
|
|
- result.set(i, content);
|
|
|
- titles.add(content.getTitle());
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ replaceDuplicate(result, i, titles, contentMap.get(publishPool[0]));
|
|
|
} else if (i == 1) {
|
|
|
- for (Content content : contentMap.get(publishPool[1])) {
|
|
|
- if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
|
|
|
- result.set(i, content);
|
|
|
- titles.add(content.getTitle());
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ replaceDuplicate(result, i, titles, contentMap.get(publishPool[1]));
|
|
|
} else {
|
|
|
- for (Content content : contentMap.get(publishPool[2])) {
|
|
|
- if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
|
|
|
- result.set(i, content);
|
|
|
- titles.add(content.getTitle());
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ replaceDuplicate(result, i, titles, contentMap.get(publishPool[2]));
|
|
|
}
|
|
|
} else {
|
|
|
titles.add(result.get(i).getTitle());
|
|
|
@@ -60,6 +42,19 @@ public interface RankStrategy {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ static void replaceDuplicate(List<Content> result, int index, List<String> titles, List<Content> pool) {
|
|
|
+ if (CollectionUtils.isEmpty(pool)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (Content content : pool) {
|
|
|
+ if (!TitleSimilarCheckUtil.isDuplicateContent(content.getTitle(), titles, TitleSimilarCheckUtil.SIMILARITY_THRESHOLD)) {
|
|
|
+ result.set(index, content);
|
|
|
+ titles.add(content.getTitle());
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public static ScoreParam convertToScoreParam(RankParam param) {
|
|
|
ScoreParam scoreParam = new ScoreParam();
|
|
|
scoreParam.setGhId(param.getGhId());
|