admin
2021-07-30 19533a17aa55fafc70d0a385928e785cb50e1ebc
src/main/java/com/yeshi/buwan/service/imp/SearchService.java
@@ -288,7 +288,7 @@
    }
    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<>();
@@ -344,19 +344,26 @@
                    }
                }
            }
            //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);
    }
@@ -411,9 +418,11 @@
        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);
        // 查询数据库
@@ -727,7 +736,7 @@
    }
    class SearchResult {
    public static class SearchResult {
        private int totalCount;
        private List<VideoInfo> videoInfoList;