Authored by hugufei

拆包

Showing 11 changed files with 32 additions and 37 deletions
package com.yoho.search.recall.common;
package com.yoho.search.recall.performance;
import com.alibaba.fastjson.JSONObject;
import com.yoho.search.base.utils.CollectionUtils;
import com.yoho.search.base.utils.ProductIndexEsField;
import com.yoho.search.core.personalized.PersonalizedSearch;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.recall.common.beans.ProductFeatureFactorHepler;
import com.yoho.search.recall.common.cacheable.CacheAbleServiceHelper;
import com.yoho.search.recall.common.cacheable.CommonPageRecallService;
import com.yoho.search.recall.common.model.CommonRecallParam;
import com.yoho.search.recall.common.model.CommonRecallResult;
import com.yoho.search.recall.common.model.CommonRecallSkn;
import com.yoho.search.recall.common.model.UserFeatureFactor;
import com.yoho.search.recall.performance.beans.ProductFeatureFactorHepler;
import com.yoho.search.recall.performance.beans.CacheAbleServiceHelper;
import com.yoho.search.recall.performance.beans.CommonPageRecallService;
import com.yoho.search.recall.performance.model.CommonRecallParam;
import com.yoho.search.recall.performance.model.CommonRecallResult;
import com.yoho.search.recall.performance.model.CommonRecallSkn;
import com.yoho.search.recall.performance.model.UserFeatureFactor;
import com.yoho.search.service.base.ProductListSortKey;
import com.yoho.search.service.base.ProductListSortService;
import com.yoho.search.service.base.SearchRequestParams;
... ... @@ -31,9 +31,9 @@ import org.springframework.stereotype.Component;
import java.util.*;
@Component
public class CommonRecallProductListService {
public class PerformanceRecallProductListService {
private static final Logger logger = LoggerFactory.getLogger(CommonRecallProductListService.class);
private static final Logger logger = LoggerFactory.getLogger(PerformanceRecallProductListService.class);
@Autowired
private CommonPageRecallService commonRecallSceneService;
... ...
package com.yoho.search.recall.common.beans;
package com.yoho.search.recall.performance.beans;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
... ... @@ -20,10 +19,9 @@ import com.yoho.search.core.es.model.SearchParam;
import com.yoho.search.core.es.model.SearchResult;
import com.yoho.search.service.base.SearchCommonService;
import com.yoho.search.service.helper.SearchParamHelper;
import com.yoho.search.recall.common.model.CommonRecallResult;
import com.yoho.search.recall.common.model.CommonRecallSkn;
import com.yoho.search.recall.performance.model.CommonRecallResult;
import com.yoho.search.recall.performance.model.CommonRecallSkn;
@Component
public class BaseRecallService {
private static List<String> commonRecallFields = new ArrayList<String>();
... ...
package com.yoho.search.recall.common.cacheable;
package com.yoho.search.recall.performance.beans;
import java.util.List;
import java.util.Map;
... ... @@ -24,9 +24,8 @@ import com.yoho.search.service.base.ProductListSortService;
import com.yoho.search.service.base.SearchCommonService;
import com.yoho.search.service.base.index.ProductIndexBaseService;
import com.yoho.search.service.helper.SearchParamHelper;
import com.yoho.search.service.helper.SearchSortHelper;
import com.yoho.search.recall.common.model.CommonRecallParam;
import com.yoho.search.recall.common.model.CommonRecallResult;
import com.yoho.search.recall.performance.model.CommonRecallParam;
import com.yoho.search.recall.performance.model.CommonRecallResult;
@Service
public class CacheAbleServiceHelper {
... ... @@ -82,7 +81,6 @@ public class CacheAbleServiceHelper {
* 非个性化的列表接口
*
* @order不为空,或者无uid
* @param paramMap
* @return
*/
@SearchCacheAble(cacheName = "COMMON_SCENE_QUERY_BY_PARAM", cacheType=CacheType.SEARCH_REDIS,cacheInMinute = 10)
... ...
package com.yoho.search.recall.common.cacheable;
package com.yoho.search.recall.performance.beans;
import com.yoho.search.base.utils.CollectionUtils;
import com.yoho.search.base.utils.ISearchConstants;
... ... @@ -7,9 +7,8 @@ import com.yoho.search.common.cache.CacheType;
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.recall.common.beans.BaseRecallService;
import com.yoho.search.recall.common.model.CommonRecallResult;
import com.yoho.search.recall.common.model.CommonRecallSkn;
import com.yoho.search.recall.performance.model.CommonRecallResult;
import com.yoho.search.recall.performance.model.CommonRecallSkn;
import com.yoho.search.service.base.SearchRequestParams;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
... ...
package com.yoho.search.recall.common.beans;
package com.yoho.search.recall.performance.beans;
import com.yoho.search.recall.common.model.UserFeatureFactor;
import com.yoho.search.recall.performance.model.UserFeatureFactor;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
... ...
package com.yoho.search.recall.common.model;
package com.yoho.search.recall.performance.model;
import java.util.ArrayList;
import java.util.Arrays;
... ...
package com.yoho.search.recall.common.model;
package com.yoho.search.recall.performance.model;
import java.io.Serializable;
import java.util.ArrayList;
... ...
package com.yoho.search.recall.common.model;
package com.yoho.search.recall.performance.model;
import java.io.Serializable;
... ...
package com.yoho.search.recall.common.model;
package com.yoho.search.recall.performance.model;
import com.yoho.search.core.personalized.PersonalizedSearch;
... ...
... ... @@ -33,7 +33,7 @@ public class SortRecallProductListService extends AbstractRecallService {
private SearchCommonHelper searchCommonHelper;
@SearchCacheAble(cacheInMinute = 10, cacheName = "SORT_PAGE_PRODUCT_LIST")
public SearchApiResult recallProductList(Map<String, String> paramMap) {
public SearchApiResult productList(Map<String, String> paramMap) {
try {
// 0)日志打印检查
recallServiceHelper.setLogEnableThreadLocal(paramMap);
... ...
package com.yoho.search.service.list;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.recall.common.CommonRecallProductListService;
import com.yoho.search.recall.performance.PerformanceRecallProductListService;
import com.yoho.search.recall.scene.SceneRecallProductListService;
import com.yoho.search.recall.sort.SortRecallProductListService;
import com.yoho.search.service.base.SearchDynamicConfigService;
... ... @@ -21,7 +21,7 @@ public class ProductListSwitchService {
@Autowired
private DefaultProductListService defaultProductListService;
@Autowired
private CommonRecallProductListService commonRecallProductListService;
private PerformanceRecallProductListService performanceRecallProductListService;
@Autowired
private SceneRecallProductListService sceneRecallProductListService;
@Autowired
... ... @@ -36,26 +36,26 @@ public class ProductListSwitchService {
* @return
*/
public SearchApiResult productList(Map<String, String> paramMap) {
// 1、不是个性化,则直接走个性化接口
// 1、不是个性化,则直接走个性化接口
if (!this.isPersionalScene(paramMap)) {
return defaultProductListService.productListNotPersional(paramMap);
}
// 2、个性化时根据开关,决定是否使用高性能的场景-双11专用
boolean perfamanceStrategyOpen = searchDynamicConfigService.searchPersionalPerfamanceStrategyOpen();
if(perfamanceStrategyOpen){
return commonRecallProductListService.productList(paramMap);
return performanceRecallProductListService.productList(paramMap);
}
// 3、品类页使用单独的召回页
boolean sortPageRecallOpen = searchDynamicConfigService.isSortPageRecallOpen();
if(sortPageRecallOpen && searchCommonHelper.isSortPageDefault(paramMap)){
return sortRecallProductListService.recallProductList(paramMap);
return sortRecallProductListService.productList(paramMap);
}
// 4、全部使用新的召回策略
boolean searchPersionalNewStrategyOpen = searchDynamicConfigService.searchPersionalNewStrategyOpen();
if (searchPersionalNewStrategyOpen) {
return sceneRecallProductListService.productList(paramMap);
}
// 4、使用向量版本的个性化方案
// 5、默认使用向量版本的个性化方案
return defaultProductListService.productListForDefaultPersional(paramMap);
}
... ...