From e629ad21fb2dd95af213fea8566986785bb25232 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Thu, 9 Feb 2023 19:16:28 +0800 Subject: [PATCH] 1 --- .../logging/service/impl/EsLogServiceImpl.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java index d0f550a69..1ec150cfa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/EsLogServiceImpl.java @@ -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)); } }