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;