From fd887d10fdecdfa7a2ba9ccabf5846f389ce41b0 Mon Sep 17 00:00:00 2001 From: zhangjun <879913833@qq.com> Date: Mon, 26 Sep 2022 17:37:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=90=9C=E7=B4=A2=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/login/security/WebMvcConfig.java | 4 ++ .../search/service/ElasticsearchService.java | 2 + .../impl/ElasticsearchServiceImpl.java | 31 +++++++++++ .../search/ResetSearchCenterController.java | 11 ++++ .../server/ResetSearchCenterService.java | 52 +++++++++++++++++++ 5 files changed, 100 insertions(+) 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 85a82ac0..8304ea9d 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 @@ -153,6 +153,10 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/sysLog/sys-log/exportSysLogExcelVOExcelData"); + + addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetALLSearchCenterForExits"); + + //// //测试接口使用 // addInterceptor.excludePathPatterns("/api/**"); diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/ElasticsearchService.java b/adc-da-search/src/main/java/com/adc/da/search/service/ElasticsearchService.java index 3ee60980..861693dc 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/ElasticsearchService.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/ElasticsearchService.java @@ -124,6 +124,8 @@ public interface ElasticsearchService { List> searchAll(String index,String search); + List> searchAllForExists(String index,String search); + /** * 使用分词查询 * diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/ElasticsearchServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/ElasticsearchServiceImpl.java index f49aae44..f2a1780a 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/ElasticsearchServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/ElasticsearchServiceImpl.java @@ -310,6 +310,37 @@ public class ElasticsearchServiceImpl implements ElasticsearchService { } + /** + * 使用索引查询所有 + */ + @Override + public List> searchAllForExists(String index,String search) { + List> sourceList = new ArrayList>(); + + //1、指定es集群 cluster.name 是固定的key值,my-application是ES集群的名称 +// Settings settings = Settings.builder().put("cluster.name", "my-application").build(); + BoolQueryBuilder boolQueryMustNot = QueryBuilders.boolQuery(); + QueryBuilder qBuilder = boolQueryMustNot.mustNot(QueryBuilders.existsQuery("titleBig")); + SearchResponse sResponse = client.prepareSearch(index) + .setQuery(qBuilder).setTrackTotalHits(true) + .get(); + SearchHits hits = sResponse.getHits(); + if(hits.getTotalHits().value > 0){ +// QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery(""); +// if(StringUtils.isNotBlank(search) && "fulltextserch".equals(index)){ +// queryBuilder1 = QueryBuilders.multiMatchQuery(search, +// "sortTitle","numberTitle","yearOrder","nameTitle","title","textContent","issue_time" +// ).minimumShouldMatch("100%").field("sortTitle",1005f).field("numberTitle",1004f).field("yearOrder",1003f).field("nameTitle",1002f).field("title",1000f).field("textContent",100f).field("issue_time",10f); +// } + SearchResponse scrollResp = search(index,qBuilder, 1,(int) hits.getTotalHits().value); + for (SearchHit hit : scrollResp.getHits()) { + sourceList.add(hit.getSourceAsMap()); + } + } + return sourceList; + } + + public SearchResponse search(String index, QueryBuilder query,int page, int size) { updateIndex(index, page,size); diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/ResetSearchCenterController.java b/adc-da-slrs/src/main/java/com/adc/da/search/ResetSearchCenterController.java index 07a0e863..32d90d5b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/ResetSearchCenterController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/ResetSearchCenterController.java @@ -61,6 +61,17 @@ public class ResetSearchCenterController extends BaseController r = new ArrayList<>(); + if(stand.isOk() && StringUtils.isNotBlank(stand.getData().toString())){ + r.add(stand.getData().toString()); + } + String res = String.join(", ", r); + logger.info(res); + + return Result.success(res); + } + @Async public ResponseMessage syncResetALLSearchCenter(SearchCenter searchCenter) throws Exception{ Boolean getFulltextserchIndex = elasticsearchService.isIndexExist("fulltextserch"); @@ -622,6 +646,34 @@ public class ResetSearchCenterService { } + //重建国内外标准 + @Async + public ResponseMessage resetfulltextForExists(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{ + + int countUpdateSuccess = 0; + int countAddSuccess = 0; + + Boolean getStandIndex = elasticsearchService.isIndexExist("stand"); + + if(!getStandIndex){ + logger.info("ES 不存在索引:stand"); + return Result.error("ES 不存在索引:stand"); + } + + String search = getSearch(searchCenter); + String result = "error"; + List> searchListData = elasticsearchService.searchAllForExists("fulltextserch",search); + for (Map map : searchListData) { + String title = String.valueOf(map.get("title")); + if (!"".equals(title) && !"null".equals(title)) { + map.put("titleBig",title.toUpperCase()); + } + result = elasticsearchService.updateDataByIdForMap(map, "fulltextserch", "fulltextserch", String.valueOf(map.get("id"))); + } + return Result.success(result); + + } + //重建国内外标准 @Async public ResponseMessage resetStandSearchCenterId(SarStandardsInfoEOPage page,SearchCenter searchCenter) throws Exception{