...
|
...
|
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; |
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yoho.search.base.utils.ISearchConstants;
|
|
|
import com.yoho.search.base.utils.ProductIndexEsField;
|
|
|
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.models.SearchApiResult;
|
...
|
...
|
@@ -47,6 +48,7 @@ public class SimilarProductServiceImpl implements ISimilarProductService { |
|
|
private SearchCommonService searchCommonService;
|
|
|
|
|
|
@Override
|
|
|
@SearchCacheAble(cacheInMinute = 30, cacheName = "SIMILAR_PRODUCT_LIST", includeParams = { "product_skn", "viewNum" })
|
|
|
public SearchApiResult similarProductList(Map<String, String> paramMap) {
|
|
|
// 1、 获取入参SKN列表
|
|
|
List<String> productSknList = this.stringToList(paramMap.getOrDefault(PRODUCT_SKN, ""));
|
...
|
...
|
@@ -84,7 +86,7 @@ public class SimilarProductServiceImpl implements ISimilarProductService { |
|
|
// 3、设置分页
|
|
|
searchParam.setOffset(0);
|
|
|
searchParam.setSize(0);
|
|
|
// 4、执行搜索
|
|
|
// 5、执行搜索
|
|
|
SearchResult searchResult = searchCommonService.doSearch(ISearchConstants.INDEX_NAME_PRODUCT_INDEX, searchParam);
|
|
|
if (searchResult == null || searchResult.getAggMaps() == null) {
|
|
|
return new HashMap<String, List<Integer>>();
|
...
|
...
|
@@ -141,12 +143,15 @@ public class SimilarProductServiceImpl implements ISimilarProductService { |
|
|
sortBuilders.add(SortBuilders.scriptSort(new Script("Math.random()"), ScriptSortType.NUMBER).order(SortOrder.ASC));
|
|
|
searchParam.setSortBuilders(sortBuilders);
|
|
|
|
|
|
// 4.查询ES
|
|
|
// 4、设置返回字段
|
|
|
searchParam.setIncludeFields(productIndexBaseService.getProductIndexIncludeFields());
|
|
|
|
|
|
// 5.查询ES
|
|
|
SearchResult searchResult = searchCommonService.doSearch(ISearchConstants.INDEX_NAME_PRODUCT_INDEX, searchParam);
|
|
|
if (searchResult == null) {
|
|
|
return new SearchApiResult().setCode(500).setMessage("exception");
|
|
|
}
|
|
|
// 5.构造返回结果
|
|
|
// 6.构造返回结果
|
|
|
JSONObject dataMap = new JSONObject();
|
|
|
dataMap.put("total", searchResult.getResultList().size());
|
|
|
dataMap.put("page", 1);
|
...
|
...
|
|