소스 검색

data-service

孙永军 2 년 전
부모
커밋
82471668a5

+ 1 - 1
src/main/java/com/sxtvs/open/api/news/service/impl/YoumeiDataServiceImpl.java

@@ -69,7 +69,7 @@ public class YoumeiDataServiceImpl extends ServiceImpl<YoumeiDataMapper, YoumeiD
                         Query.of(y -> y.multiMatch(MultiMatchQuery.of(z -> z.fields(Arrays.asList("title", "content")).query(dataRequestDTO.getKeywords()))))
                 ).minScore(10D);
             }
-            builder.postFilter(Query.of(x->x.range(y->y.field("offset").gte(JsonData.of(maxId - 10000)))));
+            builder.postFilter(Query.of(x->x.range(y->y.field("offset").gte(JsonData.of(maxId - 10000L)))));
             SearchRequest searchRequest = builder.build();
 
             response = elasticsearchClient.search(searchRequest, YoumeiData.class);

+ 6 - 4
src/main/java/com/sxtvs/open/job/PutEsJob.java

@@ -28,7 +28,7 @@ public class PutEsJob {
     @Resource
     private YoumeiOffsetServiceImpl youmeiOffsetService;
 
-    @Scheduled(cron = "0 54 * * * *")
+    @Scheduled(cron = "0 36 * * * *")
     public void putData()  {
         log.info("ES 入数据开始");
         YoumeiOffset youmeiOffset = youmeiOffsetService.getById(4);
@@ -37,10 +37,10 @@ public class PutEsJob {
         while (true){
             List<YoumeiData> youmeiDataList = youmeiDataService.lambdaQuery().gt(YoumeiData::getOffset, offset).last("limit 1000").list();
             log.info("本次数据{}条,offset从{}开始",youmeiDataList.size(), offset);
-            max = youmeiDataList.get(youmeiDataList.size()-1).getOffset();
             if (youmeiDataList.size() == 0){
                 break;
             }
+            max = youmeiDataList.get(youmeiDataList.size()-1).getOffset();
             List<BulkOperation> bulkOperations = new ArrayList<>();
 
             youmeiDataList.forEach(a -> {
@@ -55,8 +55,10 @@ public class PutEsJob {
 
             offset += 1000;
         }
-        youmeiOffset.setOffset(max);
-        youmeiOffsetService.updateById(youmeiOffset);
+        if(max > 0L){
+            youmeiOffset.setOffset(max);
+            youmeiOffsetService.updateById(youmeiOffset);
+        }
         log.info("ES 入数据结束");
     }
 }