add: 搜索中心中英标题可查

This commit is contained in:
wxyclub
2023-10-11 17:36:11 +08:00
parent 03f55f9de1
commit 85ca3d86b2
@@ -45,6 +45,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.regex.Matcher;
@@ -253,7 +254,6 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex())
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
.addSort(new ScoreSortBuilder().order(SortOrder.DESC))
.addSort("standSortOrder", SortOrder.ASC)
.addSort(sortField1, SortOrder.ASC)
@@ -1124,6 +1124,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
return result;
}
public static Map<String, Object> objectToMap(Object obj){
if(obj == null){
return null;
@@ -1664,6 +1665,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("numberTitle.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1004f))
.should(QueryBuilders.wildcardQuery("yearOrder.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1003f))
.should(QueryBuilders.wildcardQuery("nameTitle.keyword","*" + searchInfoEO.getSelectValue() + "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("nameEnTitle.keyword","*"+ searchInfoEO.getSelectValue() + "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("titleBig.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("NYLXName.keyword",searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
@@ -1771,8 +1773,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
//高亮标题覆盖原标题
String titleStr = sourceAsMap.get("title").toString();
int i = indexOfToKMP(titleStr.toUpperCase(), searchInfoEO.getSelectValue().toUpperCase(), 0, getNextValInstance());
String selectValue = titleStr.substring(i,i+searchInfoEO.getSelectValue().length());
titleStr = titleStr.replace(selectValue,"<span class='highlight-Es-class'>"+selectValue+"</span>");
if (i >= 0) {
String selectValue = titleStr.substring(i,i+searchInfoEO.getSelectValue().length());
titleStr = titleStr.replace(selectValue,"<span class='highlight-Es-class'>"+selectValue+"</span>");
}
if(StringUtils.isNotBlank(textStatusColor)){
sourceAsMap.put("title", "<span class='"+textStatusColor+"'>"+titleStr+"</span>");
}else {