From db2994dbf2ced10353f98bb89a891d2e40316afb Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 22 Mar 2022 20:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93--=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=85=A8=E9=83=A8(=E5=86=85=E5=AE=B9=E5=89=8D=E5=90=8E100?= =?UTF-8?q?=E5=AD=97=E7=AC=A6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index e3c5f2896..6e9a3eae4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -455,6 +455,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { boolean flag = judgeContains(s, selectValueTwo); if(flag){ for (int i = 0; i < s.length(); i++) { + s = getFileText(s, selectValue); String chStr = String.valueOf(s.charAt(i)); if (selectValue.contains(String.valueOf(chStr))) { chStr = "" + chStr + ""; @@ -486,9 +487,12 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if("file_text".equals(key)){ for (List valueList : (List>) entry.getValue()) { for (String s : valueList) { + s = s.replace("\n",""); int count = 0; StringBuilder sb = new StringBuilder(); if (StringUtils.isNotBlank(s)) { + //判断file_text中是否有搜索内容,如果有 + s = getFileText(s, selectValue); for (int i = 0; i < s.length(); i++) { String chStr = String.valueOf(s.charAt(i)); if (selectValue.contains(String.valueOf(chStr))) { @@ -538,6 +542,32 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } + private String getFileText(String fileTextInfo,String selectValue){ + String beginStr = ""; + String endStr = ""; + for (int i = 0; i < fileTextInfo.length(); i++) { + String chStr = String.valueOf(fileTextInfo.charAt(i)); + if(selectValue.contains(chStr)){ + if(i >=100){ + int begin = i - 100; + beginStr = fileTextInfo.substring(begin, i); + int b=0; + }else{ + beginStr = fileTextInfo.substring(0, i); + } + int index = fileTextInfo.length() - i; + if(index<=100){ + endStr = fileTextInfo.substring(i,fileTextInfo.length()); + }else{ + endStr = fileTextInfo.substring(i,i+100); + } + break; + } + } + String result = beginStr + endStr; + return result; + } + private boolean judgeContains(String oldStr, String newStr) { if (StringUtils.isBlank(oldStr) || StringUtils.isBlank(newStr)) { return false;