| | |
| | | @Service |
| | | public class SearchService { |
| | | private Logger logger = LoggerFactory.getLogger(SearchService.class); |
| | | private Logger debugLogger = LoggerFactory.getLogger("debug"); |
| | | |
| | | private final String ALBUM_SEARCH_FUZZY_KEYS = "《,》,。"; |
| | | |
| | |
| | | long albumCount = 0L; |
| | | List<VideoInfo> list = new ArrayList<>(); |
| | | List<VideoInfo> localList = null; |
| | | long startt = System.currentTimeMillis(); |
| | | try { |
| | | long startt = System.currentTimeMillis(); |
| | | |
| | | localList = null; |
| | | |
| | | localList = new ArrayList<>(); |
| | |
| | | searchResult = searchAlbum(videoType, key, resourceList, page, pageSize, true); |
| | | } |
| | | |
| | | debugLogger.info(String.format("搜索-solr专辑搜索耗时:(%s)-%s",key,(System.currentTimeMillis() - startt))); |
| | | startt = System.currentTimeMillis(); |
| | | if (searchResult != null && searchResult.videoInfoList != null) { |
| | | localList.addAll(searchResult.videoInfoList); |
| | | } |
| | |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | |
| | | debugLogger.error("常规搜索错误:{}","",e); |
| | | }finally { |
| | | debugLogger.info(String.format("搜索-solr常规搜索耗时:(%s)-%s",key,(System.currentTimeMillis() - startt))); |
| | | startt = System.currentTimeMillis(); |
| | | } |
| | | |
| | | |
| | | } |
| | | System.out.println("搜索耗时:" + (System.currentTimeMillis() - startt)); |
| | | |
| | | startt = System.currentTimeMillis(); |
| | | filterSearchResult(localList, resourceList); |
| | | debugLogger.info(String.format("搜索-过滤耗时:(%s)-%s",key,(System.currentTimeMillis() - startt))); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | |
| | | if (localList != null && localList.size() > 0) { |
| | | list.addAll(localList); |
| | | } |
| | | |
| | | startt = System.currentTimeMillis(); |
| | | //获取附加信息 |
| | | list = videoInfoExtraService.batchExtra(list, resourceList); |
| | | |
| | | debugLogger.info(String.format("搜索-附加信息耗时:(%s)-%s",key,(System.currentTimeMillis() - startt))); |
| | | return new VideoListResultVO(list, videoType == 0 ? albumCount : 1000L); |
| | | } |
| | | |