Merge branch 'develop_migration' into 'develop_master'

feat: There is no way the, ES 文本索引字段逻辑区分

See merge request LiuChao/foton-slrs-system-rest!536
This commit is contained in:
super_liu
2022-06-23 11:08:48 +08:00
@@ -188,6 +188,41 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
attrInfoMap.put(key, "null"); attrInfoMap.put(key, "null");
} }
} }
// 逻辑字段
if ("FOREIGN".equals(String.valueOf(attrInfoMap.get("standType")))){
fullTextSearchEO.put("standTypeOrder","2");
}else {
fullTextSearchEO.put("standTypeOrder","1");
}
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("standSort")),dicMap));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("standYear")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("standEnName")));
fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusName",""));
// 全文检索 加入 发布稿 分解单条款内容逻辑
StringBuilder itemBuilder = new StringBuilder();
mapItems.forEach((s, s2) -> {
itemBuilder.append(s+" ").append(s2).append("</br>");
});
StringBuilder textItemContent = replaceAll(itemBuilder, "null", "--");
fullTextSearchEO.put("textItems",textItemContent.toString());
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
}
// 文本内容字段
try {
StringBuilder contentBuilder = new StringBuilder(); StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append("标准类别:").append(attrInfoMap.get("standSort")).append(" "); contentBuilder.append("标准类别:").append(attrInfoMap.get("standSort")).append(" ");
@@ -268,35 +303,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" "); contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
StringBuilder textContent = replaceAll(contentBuilder, "null", "--"); StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
fullTextSearchEO.put("textContent",textContent.toString()); fullTextSearchEO.put("textContent",textContent.toString());
if ("FOREIGN".equals(String.valueOf(attrInfoMap.get("standType")))){ }catch (Exception e){
fullTextSearchEO.put("standTypeOrder","2"); logger.info("err:" + errFilter(e.getMessage()));
}else {
fullTextSearchEO.put("standTypeOrder","1");
}
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("standSort")),dicMap));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("standYear")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("standEnName")));
fullTextSearchEO.put("textStatusFull", attrInfoMap.getOrDefault("textStatusName",""));
// 全文检索 加入 发布稿 分解单条款内容逻辑
StringBuilder itemBuilder = new StringBuilder();
mapItems.forEach((s, s2) -> {
itemBuilder.append(s+" ").append(s2).append("</br>");
});
StringBuilder textItemContent = replaceAll(itemBuilder, "null", "--");
fullTextSearchEO.put("textItems",textItemContent.toString());
if (null != attrInfoMap.get("issueTime") && !"".equals(attrInfoMap.get("issueTime")) && !"null".equals(attrInfoMap.get("issueTime"))) {
fullTextSearchEO.put("issue_time", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
} }
} else if("laws".equals(attrInfoMap.get("type"))){ } else if("laws".equals(attrInfoMap.get("type"))){
// 政策全文 // 政策全文
@@ -305,12 +313,32 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
attrInfoMap.put(key, "null"); attrInfoMap.put(key, "null");
} }
} }
// 逻辑字段
if(StringUtils.isNotBlank(attrInfoMap.getOrDefault("lawsName","").toString())){ if(StringUtils.isNotBlank(attrInfoMap.getOrDefault("lawsName","").toString())){
fullTextSearchEO.put("title",attrInfoMap.get("lawsTypeName")+" "+attrInfoMap.getOrDefault("lawsNumber","")+" "+attrInfoMap.getOrDefault("lawsName","")); fullTextSearchEO.put("title",attrInfoMap.get("lawsTypeName")+" "+attrInfoMap.getOrDefault("lawsNumber","")+" "+attrInfoMap.getOrDefault("lawsName",""));
}else{ }else{
fullTextSearchEO.put("title",attrInfoMap.get("lawsTypeName")+" "+attrInfoMap.getOrDefault("lawsNumber","")+" "+attrInfoMap.getOrDefault("lawsEnName","")); fullTextSearchEO.put("title",attrInfoMap.get("lawsTypeName")+" "+attrInfoMap.getOrDefault("lawsNumber","")+" "+attrInfoMap.getOrDefault("lawsEnName",""));
} }
fullTextSearchEO.put("standTypeOrder","4");
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("lawsTypeName")),dicMap));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("lawsYearName")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("lawsEnName")));
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"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
}
// 文本内容字段
try {
StringBuilder contentBuilder = new StringBuilder(); StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append("政策分类: ").append(attrInfoMap.get("lawsTypeName")).append(" "); contentBuilder.append("政策分类: ").append(attrInfoMap.get("lawsTypeName")).append(" ");
contentBuilder.append("政策编号: ").append(attrInfoMap.get("lawsNumber")).append(" "); contentBuilder.append("政策编号: ").append(attrInfoMap.get("lawsNumber")).append(" ");
@@ -359,22 +387,8 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" "); contentBuilder.append("标准文本: ").append(attrInfoMap.get("content")).append(" ");
StringBuilder textContent = replaceAll(contentBuilder, "null", "--"); StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
fullTextSearchEO.put("textContent",textContent.toString()); fullTextSearchEO.put("textContent",textContent.toString());
fullTextSearchEO.put("standTypeOrder","4"); }catch (Exception e){
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("lawsTypeName")),dicMap)); logger.info("err:" + errFilter(e.getMessage()));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("lawsYearName")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("lawsEnName")));
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"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
} }
}else if ("bussstand".equals(attrInfoMap.get("type"))){ }else if ("bussstand".equals(attrInfoMap.get("type"))){
@@ -388,6 +402,25 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
}else{ }else{
fullTextSearchEO.put("title",attrInfoMap.get("stand_code")+" "+attrInfoMap.getOrDefault("stand_en_name","")); fullTextSearchEO.put("title",attrInfoMap.get("stand_code")+" "+attrInfoMap.getOrDefault("stand_en_name",""));
} }
// 逻辑字段
fullTextSearchEO.put("standTypeOrder","3");
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("standSort")),dicMap));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("standYear")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("stand_en_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"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
}
// 文本内容字段
try {
StringBuilder contentBuilder = new StringBuilder(); StringBuilder contentBuilder = new StringBuilder();
contentBuilder.append("企标类别:").append(attrInfoMap.get("standSort")).append(" "); contentBuilder.append("企标类别:").append(attrInfoMap.get("standSort")).append(" ");
contentBuilder.append("标准年份:").append(attrInfoMap.get("standYear")).append(" "); contentBuilder.append("标准年份:").append(attrInfoMap.get("standYear")).append(" ");
@@ -426,26 +459,20 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
StringBuilder textContent = replaceAll(contentBuilder, "null", "--"); StringBuilder textContent = replaceAll(contentBuilder, "null", "--");
fullTextSearchEO.put("textContent",textContent.toString()); fullTextSearchEO.put("textContent",textContent.toString());
fullTextSearchEO.put("standTypeOrder","3"); }catch (Exception e){
fullTextSearchEO.put("standSortOrder",esStateOrder(String.valueOf(attrInfoMap.get("standSort")),dicMap)); logger.info("err:" + errFilter(e.getMessage()));
fullTextSearchEO.put("yearOrder", String.valueOf(attrInfoMap.get("standYear")));
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("nameEnTitle", String.valueOf(attrInfoMap.get("stand_en_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"))));
fullTextSearchEO.put("issue_time_order", dateFormatToStr(String.valueOf(attrInfoMap.get("issueTime"))).replace("-",""));
}else {
fullTextSearchEO.put("issue_time", "--");
fullTextSearchEO.put("issue_time_order", "--");
} }
} }
return fullTextSearchEO; return fullTextSearchEO;
} }
private String errFilter(String str){
if (str.contains("Cause")){
str = str.split("Cause")[0].replaceAll("\\r\\n###","");
}
return str;
}
private String esStateOrder(String data, Map<String, Integer> dicMap){ private String esStateOrder(String data, Map<String, Integer> dicMap){
if(StringUtils.isNotBlank(data)){ if(StringUtils.isNotBlank(data)){
data = data.replace(" ",""); data = data.replace(" ","");