Bladeren bron

网点师傅下载调整ES的处理2

FengChaoYu 5 dagen geleden
bovenliggende
commit
92a8290e20
1 gewijzigde bestanden met toevoegingen van 67 en 67 verwijderingen
  1. 67 67
      mall-server-api/src/main/java/com/gree/mall/manager/logic/es/EsLogic.java

+ 67 - 67
mall-server-api/src/main/java/com/gree/mall/manager/logic/es/EsLogic.java

@@ -81,86 +81,86 @@ public class EsLogic {
     }
 
 
-    public  List<CommonListES>  list(List<String> websitNumbers,String workerNumber,String comId){
-        //标题
-        BoolQueryBuilder titleQueryBuilder = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("type", "1"));
-        if(StringUtils.isNotEmpty(comId)){
-            titleQueryBuilder.must(QueryBuilders.termQuery("comListId", comId));
-        }
-        //内容
-        BoolQueryBuilder must = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("type", "2"));
-        if(StringUtils.isNotEmpty(comId)){
-            must.must(QueryBuilders.termQuery("comListId", comId));
-        }
-        if(StringUtils.isNotEmpty(workerNumber)){
-            must.must(QueryBuilders.matchPhraseQuery("workerNumber", workerNumber));
-        }
-        if(CollectionUtils.isNotEmpty(websitNumbers)){
-            must.filter(QueryBuilders.termsQuery("websitNumber",websitNumbers));
-        }
-        NativeSearchQuery titleBuild = new NativeSearchQueryBuilder().withQuery(titleQueryBuilder).build();
-        NativeSearchQuery dataBuild = new NativeSearchQueryBuilder()
-                .withQuery(must)
-                .withPageable(PageRequest.of(0, 10000))
-                .build();
-
-        NativeSearchQuery dataBuild2 = new NativeSearchQueryBuilder()
-                .withQuery(must)
-                .withPageable(PageRequest.of(1, 10000))
-                .build();
-        NativeSearchQuery dataBuild3 = new NativeSearchQueryBuilder()
-                .withQuery(must)
-                .withPageable(PageRequest.of(2, 10000))
-                .build();
-
-        List<SearchHit<CommonListES>> searchHits1 = elasticsearchRestTemplate.search(titleBuild, CommonListES.class).getSearchHits();
-        List<SearchHit<CommonListES>> searchHits2 = elasticsearchRestTemplate.search(dataBuild, CommonListES.class).getSearchHits();
-
-
-        List<CommonListES> titles = searchHits1.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList());
-        List<CommonListES> datas = searchHits2.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList());
-
-
-        if (datas.size() == 10000) {
-            List<SearchHit<CommonListES>> searchHits3 = elasticsearchRestTemplate.search(dataBuild2, CommonListES.class).getSearchHits();
-            datas.addAll(searchHits3.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList()));
-        }
-
-        if (datas.size() == 20000) {
-            List<SearchHit<CommonListES>> searchHits4 = elasticsearchRestTemplate.search(dataBuild3, CommonListES.class).getSearchHits();
-            datas.addAll(searchHits4.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList()));
-        }
-
-        titles.addAll(datas);
-
-        return titles;
-    }
-
-//    public List<CommonListES> list(List<String> websitNumbers, String workerNumber, String comId) {
-//        // 1. 标题查询(type=1)
-//        BoolQueryBuilder titleQueryBuilder = QueryBuilders.boolQuery()
-//                .must(QueryBuilders.termQuery("type", "1"));
-//
-//        if (StringUtils.isNotEmpty(comId)) {
+//    public  List<CommonListES>  list(List<String> websitNumbers,String workerNumber,String comId){
+//        //标题
+//        BoolQueryBuilder titleQueryBuilder = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("type", "1"));
+//        if(StringUtils.isNotEmpty(comId)){
 //            titleQueryBuilder.must(QueryBuilders.termQuery("comListId", comId));
 //        }
+//        //内容
+//        BoolQueryBuilder must = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("type", "2"));
+//        if(StringUtils.isNotEmpty(comId)){
+//            must.must(QueryBuilders.termQuery("comListId", comId));
+//        }
+//        if(StringUtils.isNotEmpty(workerNumber)){
+//            must.must(QueryBuilders.matchPhraseQuery("workerNumber", workerNumber));
+//        }
+//        if(CollectionUtils.isNotEmpty(websitNumbers)){
+//            must.filter(QueryBuilders.termsQuery("websitNumber",websitNumbers));
+//        }
+//        NativeSearchQuery titleBuild = new NativeSearchQueryBuilder().withQuery(titleQueryBuilder).build();
+//        NativeSearchQuery dataBuild = new NativeSearchQueryBuilder()
+//                .withQuery(must)
+//                .withPageable(PageRequest.of(0, 10000))
+//                .build();
 //
-//        NativeSearchQuery titleBuild = new NativeSearchQueryBuilder()
-//                .withQuery(titleQueryBuilder)
+//        NativeSearchQuery dataBuild2 = new NativeSearchQueryBuilder()
+//                .withQuery(must)
+//                .withPageable(PageRequest.of(1, 10000))
+//                .build();
+//        NativeSearchQuery dataBuild3 = new NativeSearchQueryBuilder()
+//                .withQuery(must)
+//                .withPageable(PageRequest.of(2, 10000))
 //                .build();
 //
-//        // 2. 获取标题数据
 //        List<SearchHit<CommonListES>> searchHits1 = elasticsearchRestTemplate.search(titleBuild, CommonListES.class).getSearchHits();
+//        List<SearchHit<CommonListES>> searchHits2 = elasticsearchRestTemplate.search(dataBuild, CommonListES.class).getSearchHits();
+//
+//
 //        List<CommonListES> titles = searchHits1.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList());
+//        List<CommonListES> datas = searchHits2.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList());
 //
-//        // 3. 使用Scroll API获取内容数据(type=2)
-//        List<CommonListES> datas = scrollQueryData(websitNumbers, workerNumber, comId);
 //
-//        // 4. 合并结果
+//        if (datas.size() == 10000) {
+//            List<SearchHit<CommonListES>> searchHits3 = elasticsearchRestTemplate.search(dataBuild2, CommonListES.class).getSearchHits();
+//            datas.addAll(searchHits3.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList()));
+//        }
+//
+//        if (datas.size() == 20000) {
+//            List<SearchHit<CommonListES>> searchHits4 = elasticsearchRestTemplate.search(dataBuild3, CommonListES.class).getSearchHits();
+//            datas.addAll(searchHits4.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList()));
+//        }
+//
 //        titles.addAll(datas);
+//
 //        return titles;
 //    }
 
+    public List<CommonListES> list(List<String> websitNumbers, String workerNumber, String comId) {
+        // 1. 标题查询(type=1)
+        BoolQueryBuilder titleQueryBuilder = QueryBuilders.boolQuery()
+                .must(QueryBuilders.termQuery("type", "1"));
+
+        if (StringUtils.isNotEmpty(comId)) {
+            titleQueryBuilder.must(QueryBuilders.termQuery("comListId", comId));
+        }
+
+        NativeSearchQuery titleBuild = new NativeSearchQueryBuilder()
+                .withQuery(titleQueryBuilder)
+                .build();
+
+        // 2. 获取标题数据
+        List<SearchHit<CommonListES>> searchHits1 = elasticsearchRestTemplate.search(titleBuild, CommonListES.class).getSearchHits();
+        List<CommonListES> titles = searchHits1.stream().map(SearchHit<CommonListES>::getContent).collect(Collectors.toList());
+
+        // 3. 使用Scroll API获取内容数据(type=2)
+        List<CommonListES> datas = scrollQueryData(websitNumbers, workerNumber, comId);
+
+        // 4. 合并结果
+        titles.addAll(datas);
+        return titles;
+    }
+
     private List<CommonListES> scrollQueryData(List<String> websitNumbers,
                                                String workerNumber,
                                                String comId) {