From 0e8c361fc2adcba2310e88b83424d15448801cf5 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 7 Nov 2021 16:00:59 +0800 Subject: [PATCH 1/2] feat: There is no way the, elasticsearch --- .../adc/da/login/security/WebMvcConfig.java | 1 + .../service/impl/SearchCenterServiceImpl.java | 37 ++++++++++++++++--- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index df332c93..e875706d 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -40,6 +40,7 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/person/userInfo/getByUserInfoCode"); addInterceptor.excludePathPatterns("/api/att/attFile/upload"); addInterceptor.excludePathPatterns("/api/sarStandardsInfo/sar-standards-info/exportStandardsInfoExcel"); + addInterceptor.excludePathPatterns("/api/lawss/sarLawsInfo/exportStandardsInfoExcel"); //pcms项目数据下发开放接口 addInterceptor.excludePathPatterns("/api/sarStandProjectLibrary/save"); addInterceptor.excludePathPatterns("/api/sar-stand-project-team/save"); diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 949a77e0..50ec3e57 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -285,8 +285,12 @@ public class SearchCenterServiceImpl implements SearchCenterService { if (StringUtils.isNotBlank(searchInfoEO.getType())) { boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*")); } - if (StringUtils.isNotBlank(searchInfoEO.getStandType())) { - boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + if (StringUtils.isNotBlank(searchInfoEO.getStandType()) && StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) { + if(searchInfoEO.getSelectIndex().equals("bussstand")){ + boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*")); + }else { + boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*")); + } } if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*")); @@ -403,6 +407,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { // 关键字查询属性字段 String keyWordField = field + ".keyword"; String keyWordField2 = field + "Name.keyword"; + if(field.equals("NYLX")){ + field = field+"CLASS"; + } if(collectAttrMap.containsKey(field)){ List fields = new ArrayList<>(); Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue(); @@ -480,19 +487,32 @@ public class SearchCenterServiceImpl implements SearchCenterService { private List getStringField(SeniorSearchInfoEO searchInfoEO) { String fieldInfo = InitStandAttrSearchUtil.queryField; + List fieldTimeInfo = InitStandAttrSearchUtil.timeFieldList; String fieldLawsInfo = InitStandAttrSearchUtil.queryFieldLaws; + List fieldLawsTimeInfo = InitStandAttrSearchUtil.timeFieldListLaws; String fieldBussInfo = InitStandAttrSearchUtil.queryFieldBuss; + List fieldBussTimeInfo = InitStandAttrSearchUtil.timeFieldListBuss; + if(!fieldBussTimeInfo.isEmpty()){ + fieldBussTimeInfo.add("FSRQBUSS"); + } List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldLawsInfoList = Arrays.asList(fieldLawsInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldBussInfoList = Arrays.asList(fieldBussInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); List fieldList = new ArrayList<>(); if(StringUtils.isNotBlank(searchInfoEO.getSelectIndex())){ + fieldInfoList = fieldInfoList.stream().filter(s -> !fieldTimeInfo.contains(s)).collect(Collectors.toList()); + fieldLawsInfoList = fieldLawsInfoList.stream().filter(s -> !fieldLawsTimeInfo.contains(s)).collect(Collectors.toList()); + fieldBussInfoList = fieldBussInfoList.stream().filter(s -> !fieldBussTimeInfo.contains(s)).collect(Collectors.toList()); if(searchInfoEO.getSelectIndex().equals("stand")){ fieldList.addAll(fieldInfoList); }else if(searchInfoEO.getSelectIndex().equals("bussstand")){ fieldList.addAll(fieldBussInfoList); }else if(searchInfoEO.getSelectIndex().equals("laws")){ fieldList.addAll(fieldLawsInfoList); + }else if(searchInfoEO.getSelectIndex().equals("fulltextserch")){ + fieldList.addAll(fieldInfoList); + fieldList.addAll(fieldBussInfoList); + fieldList.addAll(fieldLawsInfoList); } } return fieldList; @@ -732,9 +752,9 @@ public class SearchCenterServiceImpl implements SearchCenterService { List fieldList = getStringField(searchInfoEO); List fieldNameList = new ArrayList<>(); String[] standStr = {"content","standSort","standNumber","standYear","stand_name","standEnName","standNatureName", - "textStatusName","isRelateAccessName","numbershow","standSystem"}; + "textStatusName","isRelateAccessName","numbershow","standSystem","NYLXCLASS","CLLX"}; String[] lawsStr = {"content","lawsType","lawsNumber","lawsName","lawsEnName","lawsNo","issueCompany","lawsTextState","lawsSyqy","lawsSycx","isRelateAccess","lawsYear","lawsNotisyncNum","lawsBulletin","lawsLabel","lawsRemark"}; - String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","nameshow","standstateshow","numbershow","textStatusBuss"}; + String[] bussstandStr = {"content","standSort","stand_code","standYear","stand_name","standEnName","nameshow","standstateshow","numbershow","textStatusBuss","NYLXCLASS","CLLX"}; for (String field : fieldList) { // 关键字查询属性字段 String keyWordField2 = field + "Name"; @@ -791,7 +811,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { String[] seniortypeLaws = {"lawsSyqy","lawsSycx","CYSDLAWS"}; seniortype = seniortypeLaws.clone(); } else if ("bussstand".equals(searchInfoEO.getSelectIndex())) { - String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName","NYLXCLASS"}; + String[] seniortypeBuss = {"standSort", "numbershow", "statecode","CLLX","textStatus","textStatusName","NYLXCLASS"}; seniortype = seniortypeBuss.clone(); } else { String[] seniortypeMsg = {"module"}; @@ -1153,6 +1173,13 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQuery = queryInResult(searchInfoEO); boolQueryBuilder.must(multiQuery); } + + if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS()) || StringUtils.isNotBlank(searchInfoEO.getCLLX())){ + BoolQueryBuilder boolQueryShould = QueryBuilders.boolQuery(); + boolQueryShould = querySeniorMsg(searchInfoEO,boolQueryShould); + boolQueryBuilder.must(boolQueryShould); + } + HighlightBuilder hiBuilder=new HighlightBuilder(); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); hiBuilder.field(highlightTitle); From 39a61ad8dc932f92cf7cc58077c032fb4b8d5654 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sun, 7 Nov 2021 16:45:29 +0800 Subject: [PATCH 2/2] feat: There is no way the, elasticsearch --- .../search/service/impl/SearchCenterServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 50ec3e57..34835de1 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -1174,10 +1174,14 @@ public class SearchCenterServiceImpl implements SearchCenterService { boolQueryBuilder.must(multiQuery); } - if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS()) || StringUtils.isNotBlank(searchInfoEO.getCLLX())){ - BoolQueryBuilder boolQueryShould = QueryBuilders.boolQuery(); - boolQueryShould = querySeniorMsg(searchInfoEO,boolQueryShould); - boolQueryBuilder.must(boolQueryShould); + if(StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){ + boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getNYLXCLASS(), + "textContent" + ).minimumShouldMatch("100%").field("title",10f)); + }else if(StringUtils.isNotBlank(searchInfoEO.getCLLX())){ + boolQueryBuilder.should(QueryBuilders.multiMatchQuery(searchInfoEO.getCLLX(), + "textContent" + ).minimumShouldMatch("100%").field("title",10f)); } HighlightBuilder hiBuilder=new HighlightBuilder();