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;