在生成ALS和LR模型以后,接下来就可以用在代码中了。
首先ALS,其实在数据已经存在数据库中了,只要从中取出来,去掉个逗号之类的就好
@Service
public class RecommendService {
@Autowired
private RecommendDOMapper recommendDOMapper;
//找回数据,根据userid召回shopidList
public List<Integer> recall(Integer userId){
RecommendDO recommendDO = recommendDOMapper.selectByPrimaryKey(userId);
if (recommendDO == null){
recommendDO = recommendDOMapper.selectByPrimaryKey(99999);
}
String[] shopIdArr = recommendDO.getRecommend().split(",");
List<Integer> shopIdList = new ArrayList<>();
for (int i = 0 ; i < shopIdArr.length ; i ++){
shopIdList.add(Integer.valueOf(shopIdArr[i]));
}
return shopIdList;
}
}
对于LR:
@Service
public class RecommendSortServic