feat:There is no way the

This commit is contained in:
super_liu
2021-08-09 17:31:32 +08:00
parent 04f0f1f3f8
commit 9c32571868
4 changed files with 109 additions and 35 deletions
@@ -3,6 +3,8 @@ package com.adc.da.search.service.impl;
import com.adc.da.search.entity.*;
import com.adc.da.search.service.SearchCenterService;
import com.adc.da.search.util.InitStandAttrSearchUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -96,6 +98,8 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("content.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*"));
break;
case "laws":
@@ -217,6 +221,23 @@ public class SearchCenterServiceImpl implements SearchCenterService {
Map.Entry::getKey,
Map.Entry::getValue));
if(sarStandAttrEOStr == null){
collectAttrMap = new TreeMap<>();
if(searchInfoEO.getCYSD() != null && StringUtils.isNotBlank(searchInfoEO.getCYSD())){
List<String> fieldList = Arrays.asList(searchInfoEO.getCYSD() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList));
collectAttrMap.put("CYSD",array);
}
if(searchInfoEO.getCLLX() != null && StringUtils.isNotBlank(searchInfoEO.getCLLX())){
List<String> fieldList = Arrays.asList(searchInfoEO.getCLLX() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList));
collectAttrMap.put("CLLX",array);
}
}
String fieldInfo = InitStandAttrSearchUtil.queryField;
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
@@ -224,8 +245,9 @@ public class SearchCenterServiceImpl implements SearchCenterService {
for (String field : fieldInfoList) {
// 关键字查询属性字段
String keyWordField = field + ".keyword";
String keyWordField2 = field + "Name.keyword";
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField, "*"+searchInfoEO.getSelectValue()+"*"));
boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField2, "*"+searchInfoEO.getSelectValue()+"*"));
}else {
if(collectAttrMap.containsKey(field)){
List<String> fields = new ArrayList<>();
@@ -1067,11 +1089,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
BoolQueryBuilder boolQueryMust = QueryBuilders.boolQuery();
QueryBuilder multiQueryBuilder;
multiQueryBuilder = QueryBuilders.multiMatchQuery(value,
"title","textContent","issue_time").minimumShouldMatch("100%").field("title",1f);
"title","textContent").minimumShouldMatch("100%").field("title",1f);
boolQueryMust.must(multiQueryBuilder);
boolQueryShould.should(QueryBuilders.wildcardQuery("title", "*"+searchInfoEO.getSelectValue()+"*").boost(10f))
.should(QueryBuilders.wildcardQuery("textContent", "*"+searchInfoEO.getSelectValue()+"*"))
.should(QueryBuilders.wildcardQuery("issue_time", "*"+searchInfoEO.getSelectValue()+"*"))
.should(multiQueryBuilder);
boolQueryBuilder.should(boolQueryShould);
//在结果中检索
@@ -164,48 +164,48 @@ public class StandLawsSearchServiceImpl implements StandLawsSearchService {
}else {
contentBuilder.append("标准体系:").append(attrInfoMap.get("standSystem")).append(" ");
if (StringUtils.isBlank(String.valueOf(attrInfoMap.get("BDTBH")))){
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBH")).append(" ");
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBHName")).append(" ");
}else {
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBZBH")).append(" ");
contentBuilder.append("被代替标准编号: ").append(attrInfoMap.get("BDTBZBHName")).append(" ");
}
}
contentBuilder.append("实施日期(标准文本):").append(attrInfoMap.get("SSRQ")).append(" ");
contentBuilder.append("新车型实施日期(标准文本):").append(attrInfoMap.get("XCXSSRQ")).append(" ");
contentBuilder.append("在产车实施日期(标准文本):").append(attrInfoMap.get("ZCCSSRQ")).append(" ");
contentBuilder.append("实施日期(标准文本):").append(attrInfoMap.get("SSRQName")).append(" ");
contentBuilder.append("新车型实施日期(标准文本):").append(attrInfoMap.get("XCXSSRQName")).append(" ");
contentBuilder.append("在产车实施日期(标准文本):").append(attrInfoMap.get("ZCCSSRQName")).append(" ");
if (isForeign) {
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLB")).append(" ");
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLBName")).append(" ");
}else {
contentBuilder.append("归口管理部门:").append(attrInfoMap.get("GKDW")).append(" ");
contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJG")).append(" ");
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMR")).append(" ");
contentBuilder.append("我司参与深度:").append(attrInfoMap.get("CYSD")).append(" ");
contentBuilder.append("我司参与制标排名:").append(attrInfoMap.get("CYZBPM")).append(" ");
contentBuilder.append("归口管理部门:").append(attrInfoMap.get("GKDWName")).append(" ");
contentBuilder.append("起草单位:").append(attrInfoMap.get("FBJGName")).append(" ");
contentBuilder.append("我司署名人:").append(attrInfoMap.get("WSSMRName")).append(" ");
contentBuilder.append("我司参与深度:").append(attrInfoMap.get("CYSDName")).append(" ");
contentBuilder.append("我司参与制标排名:").append(attrInfoMap.get("CYZBPMName")).append(" ");
}
contentBuilder.append("适用车型:").append(attrInfoMap.get("CLLX")).append(" ");
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLX")).append(" ");
contentBuilder.append("适用产品线:").append(attrInfoMap.get("SYCPX")).append(" ");
contentBuilder.append("适用认证:").append(attrInfoMap.get("SYRZ")).append(" ");
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBM")).append(" ");
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCS")).append(" ");
contentBuilder.append("关联模块--乘用车VPPS编码:").append(attrInfoMap.get("CYCVPPSBM")).append(" ");
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCN")).append(" ");
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBM")).append(" ");
contentBuilder.append("关联模块--卡车vpps中文名称:").append(attrInfoMap.get("KCCVPPSCN")).append(" ");
contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXH")).append(" ");
contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMC")).append(" ");
contentBuilder.append("适用车型:").append(attrInfoMap.get("CLLXName")).append(" ");
contentBuilder.append("能源类型:").append(attrInfoMap.get("NYLXName")).append(" ");
contentBuilder.append("适用产品线:").append(attrInfoMap.get("SYCPXName")).append(" ");
contentBuilder.append("适用认证:").append(attrInfoMap.get("SYRZName")).append(" ");
contentBuilder.append("责任部门:").append(attrInfoMap.get("ZRBMName")).append(" ");
contentBuilder.append("责任工程师:").append(attrInfoMap.get("ZRGCSName")).append(" ");
contentBuilder.append("关联模块--乘用车VPPS编码:").append(attrInfoMap.get("CYCVPPSBMName")).append(" ");
contentBuilder.append("关联模块--乘用车vpps中文名称:").append(attrInfoMap.get("CYCVPPSCNName")).append(" ");
contentBuilder.append("关联模块--卡车VPPS编码:").append(attrInfoMap.get("KCCVPPSBMName")).append(" ");
contentBuilder.append("关联模块--卡车vpps中文名称:").append(attrInfoMap.get("KCCVPPSCNName")).append(" ");
contentBuilder.append("模块结构单元变型号:").append(attrInfoMap.get("DYBXHName")).append(" ");
contentBuilder.append("模块结构单元名称:").append(attrInfoMap.get("DYMCName")).append(" ");
contentBuilder.append("代替标准号:").append(attrInfoMap.get("DTBJH")).append(" ");
contentBuilder.append("引用标准:").append(attrInfoMap.get("YYBJ")).append(" ");
contentBuilder.append("被引用标准:").append(attrInfoMap.get("BYYBJ")).append(" ");
contentBuilder.append("代替标准号:").append(attrInfoMap.get("DTBJHName")).append(" ");
contentBuilder.append("引用标准:").append(attrInfoMap.get("YYBJName")).append(" ");
contentBuilder.append("被引用标准:").append(attrInfoMap.get("BYYBJName")).append(" ");
if (isForeign) {
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLB")).append(" ");
contentBuilder.append("体系类别:").append(attrInfoMap.get("TXLBName")).append(" ");
}else {
contentBuilder.append("采标编号:").append(attrInfoMap.get("CBBH")).append(" ");
contentBuilder.append("采标程度:").append(attrInfoMap.get("CBCD")).append(" ");
contentBuilder.append("部分代替标准号:").append(attrInfoMap.get("BFDTBZ")).append(" ");
contentBuilder.append("被部分代替标准号:").append(attrInfoMap.get("BBFDTBZ")).append(" ");
contentBuilder.append("采标编号:").append(attrInfoMap.get("CBBHName")).append(" ");
contentBuilder.append("采标程度:").append(attrInfoMap.get("CBCDName")).append(" ");
contentBuilder.append("部分代替标准号:").append(attrInfoMap.get("BFDTBZName")).append(" ");
contentBuilder.append("被部分代替标准号:").append(attrInfoMap.get("BBFDTBZName")).append(" ");
}
if (attrInfoMap.containsKey("content")){