feat: There is no way the, 最新需求 ES 修改默认色

This commit is contained in:
super_liu
2022-06-06 18:11:33 +08:00
parent 01a4a19a2f
commit 531344edf1
4 changed files with 102 additions and 56 deletions
@@ -1247,7 +1247,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
hiBuilder.field(highlightItem);
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
hiBuilder.field(highlightDate);
hiBuilder.preTags("<span class='highlight-class'>");
hiBuilder.preTags("<span class='highlight-Es-class'>");
hiBuilder.postTags("</span>");
updateIndex("fulltextserch");
// _score 全文词频排序
@@ -1266,17 +1266,30 @@ public class SearchCenterServiceImpl implements SearchCenterService {
for (SearchHit searchHit : response.getHits().getHits()) {
searchHit.getSourceAsMap().put("id", searchHit.getId());
Map<String, Object> sourceAsMap = searchHit.getSourceAsMap();
String textStatusColor = "";
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
textStatusColor = "redClass";
}else if("参考".equals(textStatus)){
textStatusColor = "yellowClass";
}
}
//解析高亮字段
Map<String, HighlightField> highlightFields = searchHit.getHighlightFields();
HighlightField field= highlightFields.get("title");
if(field!= null){
Text[] fragments = field.fragments();
String n_field = "";
StringBuilder n_field = new StringBuilder();
for (Text fragment : fragments) {
n_field += fragment;
n_field.append(fragment);
}
//高亮标题覆盖原标题
sourceAsMap.put("title",n_field);
if(StringUtils.isNotBlank(textStatusColor)){
sourceAsMap.put("title", "<span class='"+textStatusColor+"'>"+ n_field.toString()+"</span>");
}else {
sourceAsMap.put("title", n_field.toString());
}
}
Map<String, HighlightField> highlightFieldsnameshowStr = searchHit.getHighlightFields();
@@ -1345,7 +1358,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue().toUpperCase(),
queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
"title"
).minimumShouldMatch("100%").field("title",1000f);
boolQueryBuilder.must(queryBuilder1);
@@ -1373,7 +1386,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder hiBuilder=new HighlightBuilder();
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title");
hiBuilder.field(highlightTitle);
hiBuilder.preTags("<span class='highlight-class'>");
hiBuilder.preTags("<span class='highlight-Es-class'>");
hiBuilder.postTags("</span>");
updateIndex("fulltextserch");
//1.按照资源库分类排序可实现数据的第一层排序(增加资源库自定义顺序标记,按标记排序)
@@ -1396,17 +1409,30 @@ public class SearchCenterServiceImpl implements SearchCenterService {
for (SearchHit searchHit : response.getHits().getHits()) {
searchHit.getSourceAsMap().put("id", searchHit.getId());
Map<String, Object> sourceAsMap = searchHit.getSourceAsMap();
String textStatusColor = "";
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
textStatusColor = "redClass";
}else if("参考".equals(textStatus)){
textStatusColor = "yellowClass";
}
}
//解析高亮字段
Map<String, HighlightField> highlightFields = searchHit.getHighlightFields();
HighlightField field= highlightFields.get("title");
if(field!= null){
Text[] fragments = field.fragments();
String n_field = "";
StringBuilder n_field = new StringBuilder();
for (Text fragment : fragments) {
n_field += fragment;
n_field.append(fragment);
}
//高亮标题覆盖原标题
sourceAsMap.put("title",n_field);
if(StringUtils.isNotBlank(textStatusColor)){
sourceAsMap.put("title", "<span class='"+textStatusColor+"'>"+n_field.toString()+"</span>");
}else {
sourceAsMap.put("title", n_field.toString());
}
}
result.add(sourceAsMap);
}
@@ -1623,7 +1649,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
hiBuilder.field(highlightUser);
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
hiBuilder.field(highlightDate);
hiBuilder.preTags("<span class='highlight-class'>");
hiBuilder.preTags("<span class='highlight-Es-class'>");
hiBuilder.postTags("</span>");
updateIndex("fulltextserch");
@@ -1642,29 +1668,44 @@ public class SearchCenterServiceImpl implements SearchCenterService {
for (SearchHit searchHit : response.getHits().getHits()) {
searchHit.getSourceAsMap().put("id", searchHit.getId());
Map<String, Object> sourceAsMap = searchHit.getSourceAsMap();
String textStatusColor = "";
if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){
String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString();
if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){
textStatusColor = "redClass";
}else if("参考".equals(textStatus)){
textStatusColor = "yellowClass";
}
}
//解析高亮字段
Map<String, HighlightField> highlightFields = searchHit.getHighlightFields();
HighlightField field= highlightFields.get("title");
if(field!= null){
Text[] fragments = field.fragments();
String n_field = "";
StringBuilder n_field = new StringBuilder();
for (Text fragment : fragments) {
n_field += fragment;
n_field.append(fragment);
}
//高亮标题覆盖原标题
sourceAsMap.put("title",n_field);
if(StringUtils.isNotBlank(textStatusColor)){
sourceAsMap.put("title", "<span class='"+textStatusColor+"'>"+n_field.toString()+"</span>");
}else {
sourceAsMap.put("title", n_field.toString());
}
}
Map<String, HighlightField> highlightFieldsnameshowStr = searchHit.getHighlightFields();
HighlightField fieldnameshowStr= highlightFieldsnameshowStr.get("textContent");
if(fieldnameshowStr!= null){
Text[] fragments = fieldnameshowStr.fragments();
String n_field = "";
StringBuilder n_field = new StringBuilder();
for (Text fragment : fragments) {
n_field += fragment;
n_field.append(fragment);
}
//高亮标题覆盖原标题
sourceAsMap.put("textContent",n_field);
sourceAsMap.put("textContent", n_field.toString());
}
result.add(sourceAsMap);
}
@@ -248,6 +248,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("standSort")));
fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("standNumber")));
fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("standName")));
fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusName",""));
// 全文检索 加入 发布稿 分解单条款内容逻辑
StringBuilder itemBuilder = new StringBuilder();
@@ -327,6 +329,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("lawsTypeName")));
fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("lawsNumber")));
fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("lawsName")));
fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("lawsTextStateName",""));
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))));
@@ -387,6 +391,7 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
fullTextSearchEO.put("sortTitle", String.valueOf(attrInfoMap.get("standSort")));
fullTextSearchEO.put("numberTitle", String.valueOf(attrInfoMap.get("standNumber")));
fullTextSearchEO.put("nameTitle", String.valueOf(attrInfoMap.get("stand_name")));
fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusBussName",""));
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))));
@@ -586,26 +586,26 @@ public class SarBussionessStandServiceImpl extends ServiceImpl<SarBussionessStan
.collect(Collectors.toList());
// 在研稿件
String strUsNew = newMap.getOrDefault("CA", "").toString()+
","+newMap.getOrDefault("GLWJ", "").toString()+
","+newMap.getOrDefault("XGD", "").toString()+
","+newMap.getOrDefault("BPG", "").toString()+
","+newMap.getOrDefault("ZQYJG", "").toString()+
","+newMap.getOrDefault("SSG", "").toString()+
","+newMap.getOrDefault("JDWJ", "").toString()+
","+newMap.getOrDefault("KWJ", "").toString()+
","+newMap.getOrDefault("XDB", "").toString()+
","+newMap.getOrDefault("ZBJBD", "").toString();
String strUsOld = oldMap.getOrDefault("CA", "").toString()+
","+oldMap.getOrDefault("GLWJ", "").toString()+
","+oldMap.getOrDefault("XGD", "").toString()+
","+oldMap.getOrDefault("BPG", "").toString()+
","+oldMap.getOrDefault("ZQYJG", "").toString()+
","+oldMap.getOrDefault("SSG", "").toString()+
","+oldMap.getOrDefault("JDWJ", "").toString()+
","+oldMap.getOrDefault("KWJ", "").toString()+
","+oldMap.getOrDefault("XDB", "").toString()+
","+oldMap.getOrDefault("ZBJBD", "").toString();
String strUsNew = verifyObj(newMap.getOrDefault("CA", "")).toString()+
","+ verifyObj(newMap.getOrDefault("GLWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("XGD", "")).toString()+
","+ verifyObj(newMap.getOrDefault("BPG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("ZQYJG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("SSG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("JDWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("KWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("XDB", "")).toString()+
","+ verifyObj(newMap.getOrDefault("ZBJBD", "")).toString();
String strUsOld = verifyObj(oldMap.getOrDefault("CA", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("GLWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("XGD", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("BPG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("ZQYJG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("SSG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("JDWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("KWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("XDB", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("ZBJBD", "")).toString();
List<String> usNew = Arrays.stream(strUsNew.split(","))
.map(String::trim).collect(Collectors.toList());
List<String> usOld = Arrays.stream(strUsOld.split(","))
@@ -1987,26 +1987,26 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
filterDisunityFbg = filterDisunityFbg.stream().filter(s -> !s.equals("")).collect(Collectors.toList());
// 在研稿件
String strUsNew = newMap.getOrDefault("CA", "").toString()+
","+newMap.getOrDefault("GLWJ", "").toString()+
","+newMap.getOrDefault("XGD", "").toString()+
","+newMap.getOrDefault("BPG", "").toString()+
","+newMap.getOrDefault("ZQYJG", "").toString()+
","+newMap.getOrDefault("SSG", "").toString()+
","+newMap.getOrDefault("JDWJ", "").toString()+
","+newMap.getOrDefault("KWJ", "").toString()+
","+newMap.getOrDefault("XDB", "").toString()+
","+newMap.getOrDefault("ZBJBD", "").toString();
String strUsOld = oldMap.getOrDefault("CA", "").toString()+
","+oldMap.getOrDefault("GLWJ", "").toString()+
","+oldMap.getOrDefault("XGD", "").toString()+
","+oldMap.getOrDefault("BPG", "").toString()+
","+oldMap.getOrDefault("ZQYJG", "").toString()+
","+oldMap.getOrDefault("SSG", "").toString()+
","+oldMap.getOrDefault("JDWJ", "").toString()+
","+oldMap.getOrDefault("KWJ", "").toString()+
","+oldMap.getOrDefault("XDB", "").toString()+
","+oldMap.getOrDefault("ZBJBD", "").toString();
String strUsNew = verifyObj(newMap.getOrDefault("CA", "")).toString()+
","+ verifyObj(newMap.getOrDefault("GLWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("XGD", "")).toString()+
","+ verifyObj(newMap.getOrDefault("BPG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("ZQYJG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("SSG", "")).toString()+
","+ verifyObj(newMap.getOrDefault("JDWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("KWJ", "")).toString()+
","+ verifyObj(newMap.getOrDefault("XDB", "")).toString()+
","+ verifyObj(newMap.getOrDefault("ZBJBD", "")).toString();
String strUsOld = verifyObj(oldMap.getOrDefault("CA", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("GLWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("XGD", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("BPG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("ZQYJG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("SSG", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("JDWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("KWJ", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("XDB", "")).toString()+
","+ verifyObj(oldMap.getOrDefault("ZBJBD", "")).toString();
List<String> usNew = Arrays.stream(strUsNew.split(","))
.map(String::trim).collect(Collectors.toList());
List<String> usOld = Arrays.stream(strUsOld.split(","))