From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 24 九月 2021 15:22:03 +0800
Subject: [PATCH] 接入视频直播

---
 src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 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 4a6ac8d..bdb969c 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())) {
@@ -119,9 +123,14 @@
         }
 
         if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) {
-//            String[] rids=new String[filter.getResourceIds().size()];
-//            filter.getResourceIds().toArray(rids);
-            query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resourceIds").contains(filter.getResourceIds())));
+            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));
         }
 
 
@@ -146,7 +155,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