This commit is contained in:
zhangzhiqiang
2023-02-09 19:16:28 +08:00
parent c0661d4c39
commit e629ad21fb

View File

@@ -10,6 +10,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.script.Script;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.enums.LevelEnum;
import org.nl.modules.logging.repository.EsLogRepository;
@@ -23,6 +24,8 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
@@ -68,13 +71,17 @@ public class EsLogServiceImpl implements EsLogService {
query.must().add(QueryBuilders.matchQuery("traceId", logQuery.getTraceId()));
}
if (StringUtils.isNotEmpty(logQuery.getMessage())){
query.must().add(QueryBuilders.matchQuery("message", logQuery.getMessage()).minimumShouldMatch("50%"));
}
if (logQuery.getStartTime()!=null){
query.must().add(QueryBuilders.rangeQuery("requestTime").gte(logQuery.getStartTime()));
query.must().add(QueryBuilders.matchQuery("message", logQuery.getMessage()).minimumShouldMatch("80%"));
}
if (logQuery.getEndTime()!=null){
query.must().add(QueryBuilders.rangeQuery("requestTime").lte(logQuery.getStartTime()));
long end = logQuery.getEndTime().getTime();
query.must().add(QueryBuilders.rangeQuery("@timestamp").gte(logQuery.getEndTime()));
}
if (logQuery.getStartTime()!=null){
long start = logQuery.getStartTime().getTime();
String script = "doc['@timestamp'].value.millis > "+start+"L";
Script Script = new Script(script);
query.must().add(QueryBuilders.scriptQuery(Script));
}
}