|
|
package com.yoho.search.recall.sort.helper;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.yoho.search.base.utils.ConvertUtils;
|
|
|
import com.yoho.search.base.utils.ISearchConstants;
|
|
|
import com.yoho.search.base.utils.JsonUtil;
|
|
|
import com.yoho.search.common.cache.aop.SearchCacheAble;
|
|
|
import com.yoho.search.core.es.model.SearchParam;
|
|
|
import com.yoho.search.core.es.model.SearchResult;
|
|
|
import com.yoho.search.core.personalized.BigDataRedisService;
|
|
|
import com.yoho.search.core.personalized.version.PersonalVersionManager;
|
|
|
import com.yoho.search.recall.sort.model.UserLikeBrands;
|
|
|
import com.yoho.search.service.base.SearchCommonService;
|
|
|
import com.yoho.search.service.base.SearchDynamicConfigService;
|
|
|
import com.yoho.search.service.base.SearchRequestParams;
|
|
|
import com.yoho.search.service.helper.SearchCommonHelper;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
...
|
...
|
@@ -22,19 +30,7 @@ import org.slf4j.LoggerFactory; |
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.yoho.search.base.utils.ConvertUtils;
|
|
|
import com.yoho.search.base.utils.ISearchConstants;
|
|
|
import com.yoho.search.base.utils.JsonUtil;
|
|
|
import com.yoho.search.common.cache.aop.SearchCacheAble;
|
|
|
import com.yoho.search.core.es.model.SearchParam;
|
|
|
import com.yoho.search.core.es.model.SearchResult;
|
|
|
import com.yoho.search.core.personalized.BigDataRedisService;
|
|
|
import com.yoho.search.service.base.SearchCommonService;
|
|
|
import com.yoho.search.service.base.SearchDynamicConfigService;
|
|
|
import com.yoho.search.service.base.SearchRequestParams;
|
|
|
import com.yoho.search.recall.sort.model.UserLikeBrands;
|
|
|
import java.util.*;
|
|
|
|
|
|
@Component
|
|
|
public class RecallPersionalHelper {
|
...
|
...
|
@@ -44,6 +40,8 @@ public class RecallPersionalHelper { |
|
|
@Autowired
|
|
|
private SearchDynamicConfigService searchDynamicConfigService;
|
|
|
@Autowired
|
|
|
private PersonalVersionManager personalVersionManager;
|
|
|
@Autowired
|
|
|
private BigDataRedisService bigDataRedisService;
|
|
|
@Autowired
|
|
|
private SearchCommonService searchCommonService;
|
...
|
...
|
@@ -89,7 +87,7 @@ public class RecallPersionalHelper { |
|
|
private List<Integer> getUserGlobalBrandIds(Map<String, String> paramMap) {
|
|
|
try {
|
|
|
String uid = MapUtils.getString(paramMap, "uid", "0");
|
|
|
String vectorFeatureVersion = searchDynamicConfigService.personalizedSearchVersion();
|
|
|
String vectorFeatureVersion = personalVersionManager.getCurrentVersionInZk();
|
|
|
String userGlobalBrandIds = bigDataRedisService.getUserGlobalFaveriteBrand(uid, vectorFeatureVersion);
|
|
|
JSONArray brandJsonArray = JSON.parseArray(userGlobalBrandIds);
|
|
|
return JsonUtil.jsonArrayToList(brandJsonArray, Integer.class);
|
...
|
...
|
@@ -108,7 +106,7 @@ public class RecallPersionalHelper { |
|
|
private List<Integer> getUserLikeBrandIds(Map<String, String> paramMap) {
|
|
|
try {
|
|
|
String uid = MapUtils.getString(paramMap, "uid", "0");
|
|
|
String vectorFeatureVersion = searchDynamicConfigService.personalizedSearchVersion();
|
|
|
String vectorFeatureVersion = personalVersionManager.getCurrentVersionInZk();
|
|
|
String userVectorFeature = bigDataRedisService.getUserBrandVectorFeature(uid, vectorFeatureVersion);
|
|
|
if (StringUtils.isBlank(vectorFeatureVersion) || StringUtils.isBlank(userVectorFeature)) {
|
|
|
return new ArrayList<Integer>();
|
...
|
...
|
|