From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 20 二月 2025 16:57:55 +0800 Subject: [PATCH] IOS广告增加区域屏蔽 --- src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java | 33 ++++++++++++++++++++++++++------- 1 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java b/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java index fa81c98..393671e 100644 --- a/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java +++ b/src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java @@ -99,10 +99,14 @@ Query query = null; if (!StringUtil.isNullOrEmpty(filter.getKey())) { //solr绮惧噯妫�绱㈤渶瑕佸甫寮曞彿 - try { - query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\"")); - } catch (InvalidDataAccessApiUsageException e) { - query = new SimpleQuery(new Criteria("name").expression("\""+key+"\"")); + if (filter.isFuzzy()) { + query = new SimpleQuery(new Criteria("name").expression(filter.getKey())); + } else { + try { + query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\"")); + } catch (InvalidDataAccessApiUsageException e) { + query = new SimpleQuery(new Criteria("name").expression("\"" + key + "\"")); + } } } else if (!StringUtil.isNullOrEmpty(filter.getActor())) { @@ -118,13 +122,28 @@ query.addFilterQuery(new SimpleFilterQuery(Criteria.where("rootType").is(filter.getVideoType()))); } - if (filter.getResourceIds() != null && filter.getResourceIds().length > 0) { - query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resourceIds").contains(filter.getResourceIds()))); + if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) { + Criteria ors = null; + for (String rid : filter.getResourceIds()) { + if (ors == null) + ors = Criteria.where("resourceIds").contains(rid); + else + ors = ors.or("resourceIds").contains(rid); + } + query.addFilterQuery(new SimpleFilterQuery(ors)); } if (filter.getArea() != null) { query.addFilterQuery(new SimpleFilterQuery(Criteria.where("area").contains(filter.getArea()))); + } + + if (filter.getAreas() != null&&filter.getAreas().size()>0) { + Criteria criteria=Criteria.where("area").contains(filter.getAreas().get(0)); + for(int i=1;i<filter.getAreas().size();i++){ + criteria= criteria.or("area").contains(filter.getAreas().get(i)); + } + query.addFilterQuery(new SimpleFilterQuery(criteria)); } @@ -144,7 +163,7 @@ } public List<String> getSuggestKeyList(String key) { - Query query = new SimpleQuery(new Criteria("nameStr").expression(key+"*")); + Query query = new SimpleQuery(new Criteria("nameStr").expression(key + "*")); /** 璁剧疆鍒嗛〉寮�濮嬭褰曟暟(绗竴椤�) 榛樿0 */ query.setOffset(0); /** 璁剧疆姣忛〉鏄剧ず璁板綍鏁帮紝榛樿10 */ -- Gitblit v1.8.0