| | |
| | | } |
| | | |
| | | |
| | | private SearchResult searchAlbum(int videoType, String key, int page, int pageSize) { |
| | | public SearchResult searchAlbum(int videoType, String key, int page, int pageSize) { |
| | | List<VideoInfo> localList = new ArrayList<>(); |
| | | //专辑视频集合 |
| | | Set<String> solrAlbumVids = new HashSet<>(); |
| | |
| | | } |
| | | } |
| | | } |
| | | //todo 按关键词的匹配度排序 |
| | | |
| | | Comparator<VideoInfo> cm = new Comparator<VideoInfo>() { |
| | | @Override |
| | | public int compare(VideoInfo o1, VideoInfo o2) { |
| | | //按关键词的匹配度排序 |
| | | Comparator<VideoInfo> cm = (VideoInfo o1, VideoInfo o2) -> { |
| | | if (o1.getDefinition() - o2.getDefinition() == 0) { |
| | | float s1 = CompareStrSimUtil.getSimilarityRatio(o1.getName(), key, true); |
| | | float s2 = CompareStrSimUtil.getSimilarityRatio(o2.getName(), key, true); |
| | | // if (s1 != s2)//相似度越高越靠前 |
| | | return s2 > s1 ? 1 : -1; |
| | | // else |
| | | // return o1.getDefinition() - o2.getDefinition();//高清排在前 |
| | | } else { |
| | | return o2.getDefinition() - o1.getDefinition();//高清排在前 |
| | | } |
| | | |
| | | }; |
| | | |
| | | Collections.sort(localList,cm); |
| | | |
| | | Collections.sort(localList, cm); |
| | | } |
| | | //未搜索到内容 |
| | | if (localList == null || localList.size() == 0) { |
| | | logger.warn("专辑搜索无结果#{}", key); |
| | | } |
| | | return new SearchResult(albumCount, localList); |
| | | } |
| | |
| | | if (!StringUtil.isNullOrEmpty(key) && key.length() > 30) |
| | | key = key.substring(0, 30); |
| | | sh.setKey(key); |
| | | UserInfo user = new UserInfo(); |
| | | user.setId(uid); |
| | | sh.setUser(user); |
| | | if(uid!=null) { |
| | | UserInfo user = new UserInfo(); |
| | | user.setId(uid); |
| | | sh.setUser(user); |
| | | } |
| | | |
| | | searchDao.create(sh); |
| | | // 查询数据库 |
| | |
| | | } |
| | | |
| | | |
| | | class SearchResult { |
| | | public static class SearchResult { |
| | | private int totalCount; |
| | | private List<VideoInfo> videoInfoList; |
| | | |