From d73687bc6115007145b4aab050e4e29ff87fd8ae Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 01 三月 2021 18:44:36 +0800 Subject: [PATCH] 布丸代码优化 --- src/main/java/com/yeshi/buwan/service/manager/SolrAlbumDataManager.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumDataManager.java index 1403b5d..606760e 100644 --- a/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumDataManager.java +++ b/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumDataManager.java @@ -12,15 +12,13 @@ import com.yeshi.buwan.service.inter.juhe.AlbumVideoMapService; import com.yeshi.buwan.util.StringUtil; import com.yeshi.buwan.util.factory.SolrVideoFactory; +import net.sf.ehcache.search.expression.BaseCriteria; import org.apache.solr.client.solrj.response.UpdateResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.domain.Sort; import org.springframework.data.solr.core.SolrTemplate; -import org.springframework.data.solr.core.query.Criteria; -import org.springframework.data.solr.core.query.Query; -import org.springframework.data.solr.core.query.SimpleQuery; -import org.springframework.data.solr.core.query.SolrDataQuery; +import org.springframework.data.solr.core.query.*; import org.springframework.data.solr.core.query.result.ScoredPage; import org.springframework.stereotype.Component; @@ -100,18 +98,36 @@ } public SolrResultDTO find(SolrVideoSearchFilter filter, int page, int pageSize) { + if (filter.getKey() == null) { + filter.setKey(""); + } logger.info(filter.getKey() + "#" + page); - Query query = new SimpleQuery("name:\"" + filter.getKey() + "\""); - + Query query = null; + if (!StringUtil.isNullOrEmpty(filter.getKey())) { + //solr绮惧噯妫�绱㈤渶瑕佸甫寮曞彿 + query = new SimpleQuery("name:\"" + filter.getKey() + "\""); + } else { + query = new SimpleQuery(); + } Criteria criteria = new Criteria("contenttype").is(filter.getContentType()); if (filter.getVideoType() != null) { criteria = criteria.and("root_video_type").is(filter.getVideoType()); } + + if (filter.getActor() != null) { + criteria = criteria.and("mainactor").expression("\""+filter.getActor()+"\""); + } + + if (filter.getDirector() != null) { + criteria = criteria.and("director").expression("\""+filter.getDirector()+"\""); + } + if (filter.getResourceIds() != null && filter.getResourceIds().length > 0) { criteria = criteria.and("resourceIds").contains(filter.getResourceIds()); } + /** 娣诲姞鏉′欢 */ if (criteria != null) query.addCriteria(criteria); -- Gitblit v1.8.0