package com.winhc.task.job; import com.mongodb.client.MongoCollection; import com.winhc.task.framework.es.EsFastScan; import com.winhc.task.util.DateUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.bson.Document; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.search.SearchHit; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Component; import java.util.Arrays; import java.util.List; import java.util.function.Consumer; import java.util.stream.Collectors; /** * @author: XuJiakai * 2020/11/16 20:03 */ @Slf4j @Component @AllArgsConstructor public class EsScanJob { private RestHighLevelClient restHighLevelClient; private final MongoTemplate mongoTemplate; public void start() { } public void fixBugByDeleted(String dsl, String tn) { String ymd = DateUtils.getYesterday_ymd(); MongoCollection person = mongoTemplate.getCollection("company_back_update_0423"); Consumer func = list -> { List li = Arrays.stream(list).map(d -> { String id = d.getId(); Document document = new Document(); // document.put("_id", id); document.put("rowkey", id); document.put("ds", ymd); document.put("tn", tn); return document; }).collect(Collectors.toList()); person.insertMany(li); }; new EsFastScan(restHighLevelClient, func, "winhc_index_" + tn + "_v1", "_doc", dsl,null).scan(); } public void fixBugByDeleted(String tn) { String dsl = "{\n" + " \"query\": {\n" + " \"bool\": {\n" + " \"must_not\": [\n" + " {\"terms\": {\n" + " \"deleted\": [\n" + " \"0\",\n" + " \"9\",\n" + " \"1\"\n" + " ]\n" + " }}\n" + " ]\n" + " }\n" + " }\n" + "}"; fixBugByDeleted(dsl, tn); } }