From d74eded61feae9c5ac891b0121c6ba6bf5ef0b74 Mon Sep 17 00:00:00 2001 From: guoxin <371864209@qq.com> Date: Fri, 22 Sep 2023 01:49:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E5=BA=9E=E4=BA=91=E6=84=8F=E6=80=9D?= =?UTF-8?q?=E8=AE=B2=E5=85=A8=E6=96=87=E6=A3=80=E7=B4=A2=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=8E=A8=E8=8D=90=E8=AF=8D=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../browser/service/FileSearchService.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/shandan-browser/src/main/java/com/keyware/shandan/browser/service/FileSearchService.java b/shandan-browser/src/main/java/com/keyware/shandan/browser/service/FileSearchService.java index 8fa5f6f..60d3019 100644 --- a/shandan-browser/src/main/java/com/keyware/shandan/browser/service/FileSearchService.java +++ b/shandan-browser/src/main/java/com/keyware/shandan/browser/service/FileSearchService.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ReflectUtil; import com.keyware.shandan.bianmu.entity.DirectoryVo; import com.keyware.shandan.bianmu.enums.ReviewStatus; import com.keyware.shandan.bianmu.service.DirectoryService; +import com.keyware.shandan.browser.SearchLogProcessor; import com.keyware.shandan.browser.entity.FullSearchParam; import com.keyware.shandan.browser.entity.PageVo; import com.keyware.shandan.common.constants.DirConstant; @@ -45,15 +46,28 @@ public class FileSearchService { private RestHighLevelClient esClient; @Autowired private DirectoryService directoryService; + @Autowired + private SearchLogProcessor searchLogProcessor; public PageVo searchFile(FullSearchParam param) throws IOException { - SearchRequest request = Requests.searchRequest("shandan"); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.from(param.getPage() * param.getSize() - param.getSize()).size(param.getSize()); String metaId = param.getMetaId(); String text = param.getSearch(); + boolean defaultSearch = StringUtils.isBlank(text) && (StringUtils.isBlank(metaId) || "ROOT".equals(metaId)); + if (defaultSearch) { + List words = new ArrayList<>(); + for (String systemWord : searchLogProcessor.getSystemWords()) { + words.add(systemWord); + if (words.size() == 5) { + break; + } + } + text = String.join(" ", words); + } + String[] searchFields = param.getSearchFields().split(","); BoolQueryBuilder builder = QueryBuilders.boolQuery(); @@ -63,7 +77,7 @@ public class FileSearchService { ids.addAll(getChildrenByDirId(metaId)); builder.must(QueryBuilders.termsQuery("entityId", ids)); } - if (StringUtils.isNotBlank(text)) { + if (StringUtils.hasText(text)) { BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); String[] includesCol = {"fileName", "entryStaff", "equipmentModel", "source", "taskCode", "taskNature", "troopCode", "targetNumber", "missileNumber", "themeTask", "remark", "text"};