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