From 19533a17aa55fafc70d0a385928e785cb50e1ebc Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期五, 30 七月 2021 02:05:14 +0800 Subject: [PATCH] 爱奇艺视频更新 --- src/main/java/com/yeshi/buwan/service/manager/SolrAlbumVideoDataManager.java | 19 +++++++++++++++++-- 1 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumVideoDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumVideoDataManager.java index d47e0b1..5d38c4f 100644 --- a/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumVideoDataManager.java +++ b/src/main/java/com/yeshi/buwan/service/manager/SolrAlbumVideoDataManager.java @@ -18,6 +18,7 @@ import org.apache.solr.client.solrj.response.UpdateResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.domain.Sort; import org.springframework.data.solr.core.SolrTemplate; import org.springframework.data.solr.core.query.Criteria; @@ -135,7 +136,15 @@ Query query = null; if (!StringUtil.isNullOrEmpty(filter.getKey())) { //solr绮惧噯妫�绱㈤渶瑕佸甫寮曞彿 - query = new SimpleQuery(new Criteria("name").expression("\"" + filter.getKey() + "\"").or("mainactor").expression("\"" + filter.getKey() + "\"")); + if (filter.isFuzzy()) { + query = new SimpleQuery(new Criteria("name").expression(filter.getKey())); + } else { + try { + query = new SimpleQuery(new Criteria("nameStr").startsWith(filter.getKey()).or("mainactor").expression("\"" + filter.getKey() + "\"")); + } catch (InvalidDataAccessApiUsageException e) { + query = new SimpleQuery(new Criteria("nameStr").expression("\""+filter.getKey()+"\"").or("mainactor").expression("\"" + filter.getKey() + "\"")); + } + } } else if (!StringUtil.isNullOrEmpty(filter.getActor())) { query = new SimpleQuery(new Criteria("mainactor").expression("\"" + filter.getActor() + "\"")); } else if (!StringUtil.isNullOrEmpty(filter.getDirector())) { @@ -156,6 +165,10 @@ query.addFilterQuery(new SimpleFilterQuery(Criteria.where("free_type").is(filter.getFreeType()))); } + if (filter.getArea() != null) { + query.addFilterQuery(new SimpleFilterQuery(Criteria.where("area").contains(filter.getArea()))); + } + /** 璁剧疆鍒嗛〉寮�濮嬭褰曟暟(绗竴椤�) 榛樿0 */ query.setOffset((page - 1) * pageSize); @@ -173,11 +186,13 @@ } public List<String> getSuggestKeyList(String key) { - Query query = new SimpleQuery("name:\"" + key + "\""); + Query query = new SimpleQuery(new Criteria("nameStr").expression(key+"*")); /** 璁剧疆鍒嗛〉寮�濮嬭褰曟暟(绗竴椤�) 榛樿0 */ query.setOffset(0); /** 璁剧疆姣忛〉鏄剧ず璁板綍鏁帮紝榛樿10 */ query.setRows(10); + + ScoredPage<SolrAlbumVideo> result = solrTemplate.queryForPage(CORE_NAME, query, SolrAlbumVideo.class); System.out.println("鎬昏褰曟暟锛�" + result.getTotalElements()); List<SolrAlbumVideo> list = result.getContent(); -- Gitblit v1.8.0