Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -0,0 +1,56 @@
|
|||||||
|
package org.nl.system.service.quartz.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.lucene.document.Document;
|
||||||
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
|
import org.apache.lucene.index.IndexCommit;
|
||||||
|
import org.apache.lucene.index.IndexWriter;
|
||||||
|
import org.apache.lucene.index.Term;
|
||||||
|
import org.apache.lucene.search.*;
|
||||||
|
import org.apache.lucene.store.FSDirectory;
|
||||||
|
import org.apache.lucene.util.BytesRef;
|
||||||
|
import org.nl.acs.AcsConfig;
|
||||||
|
import org.nl.config.lucene.config.LuceneAppender;
|
||||||
|
import org.nl.system.service.param.ISysParamService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
import org.springframework.core.io.Resource;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author : TuQiang
|
||||||
|
* @create 2024/5/24 14:37
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class AutoCleanLucenceLog {
|
||||||
|
@Autowired
|
||||||
|
private ISysParamService paramService;
|
||||||
|
|
||||||
|
public void run() throws Exception {
|
||||||
|
IndexWriter writer = LuceneAppender.indexWriter;
|
||||||
|
//时间范围删除
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.set(1970, 0, 1);
|
||||||
|
String startDate = DateUtil.format(calendar.getTime(), "yyyy-MM-dd HH:mm:ss.SSS");
|
||||||
|
Date date = new Date();
|
||||||
|
calendar.setTime(date);
|
||||||
|
int days = Integer.parseInt(paramService.findByCode(AcsConfig.AutoCleanDays).getValue());
|
||||||
|
//取反
|
||||||
|
int day = ~days + 1;
|
||||||
|
calendar.add(Calendar.DATE, day);
|
||||||
|
String endDate = DateUtil.format(calendar.getTime(), "yyyy-MM-dd HH:mm:ss.SSS");
|
||||||
|
TermRangeQuery termRangeQuery = new TermRangeQuery("logTime", new BytesRef(startDate), new BytesRef(endDate), true, true);
|
||||||
|
writer.deleteDocuments(termRangeQuery);
|
||||||
|
writer.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user