From 0fd45a3c702bf8636a950c4a9b58946ec0acd624 Mon Sep 17 00:00:00 2001 From: xujun Date: Mon, 13 Jul 2026 16:46:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96ES=E6=90=9C=E7=B4=A2=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=B3=E9=94=AE=E8=AF=8D=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E7=89=B9=E6=AE=8A=E5=AD=97=E7=AC=A6=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E8=A2=AB=E5=88=86=E8=AF=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../log/bus/elasticsearch/dto/EsSysLog.java | 51 ++++++++++++++++--- .../service/impl/EsSysLogServiceImpl.java | 14 ++--- 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/dto/EsSysLog.java b/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/dto/EsSysLog.java index b34cb6a..3e937d9 100644 --- a/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/dto/EsSysLog.java +++ b/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/dto/EsSysLog.java @@ -5,6 +5,8 @@ import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; +import org.springframework.data.elasticsearch.annotations.InnerField; +import org.springframework.data.elasticsearch.annotations.MultiField; import xtools.app.common.config.AppCommonConfig; /** @@ -42,7 +44,12 @@ public class EsSysLog { /** * 日志追踪ID */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String traceId; /** @@ -72,25 +79,45 @@ public class EsSysLog { /** * 服务名称 */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String appName; /** * 本机IP */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String localIp; /** * 运行端口 */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String port; /** * 日志标题 */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String title; /** @@ -108,13 +135,23 @@ public class EsSysLog { /** * 请求IP */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String ip; /** * 请求URI */ - @Field(type = FieldType.Text) + @MultiField( + mainField = @Field(type = FieldType.Text), + otherFields = { + @InnerField(suffix = "keyword", type = FieldType.Keyword) + } + ) private String uri; /** diff --git a/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/service/impl/EsSysLogServiceImpl.java b/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/service/impl/EsSysLogServiceImpl.java index c9f7240..2e3efb3 100644 --- a/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/service/impl/EsSysLogServiceImpl.java +++ b/xtools-app-sys/xtools-app-sys-log-bus-elasticsearch/src/main/java/xtools/app/sys/log/bus/elasticsearch/service/impl/EsSysLogServiceImpl.java @@ -121,19 +121,19 @@ public class EsSysLogServiceImpl implements SysLogService, BaseParams { JSONArray must = new JSONArray(); EsQueryUtils.setTimeRange(must, "logTime", req.getLogTimeRange()); - EsQueryUtils.setMatchPhrase(must, "traceId", req.getTraceId()); + EsQueryUtils.setWildcard(must, "traceId", req.getTraceId(), true); EsQueryUtils.setMatchPhrase(must, "logType", req.getLogType()); EsQueryUtils.setMatchPhrase(must, "logLevel", req.getLogLevel()); - EsQueryUtils.setWildcard(must, "title", req.getTitle()); - EsQueryUtils.setWildcard(must, "ip", req.getIp()); - EsQueryUtils.setWildcard(must, "uri", req.getUri()); + EsQueryUtils.setWildcard(must, "title.keyword", req.getTitle(), true); + EsQueryUtils.setWildcard(must, "ip.keyword", req.getIp(), true); + EsQueryUtils.setWildcard(must, "uri.keyword", req.getUri(), true); EsQueryUtils.setMatchPhrase(must, "threadType", req.getThreadType()); - EsQueryUtils.setWildcard(must, "appName", req.getAppName()); - EsQueryUtils.setWildcard(must, "localIp", req.getLocalIp()); - EsQueryUtils.setWildcard(must, "port", req.getPort()); + EsQueryUtils.setWildcard(must, "appName.keyword", req.getAppName(), true); + EsQueryUtils.setWildcard(must, "localIp.keyword", req.getLocalIp(), true); + EsQueryUtils.setWildcard(must, "port.keyword", req.getPort(), true); JSONObject query = JSONObject.of("bool", JSONObject.of("must", must));