opt: es查询优化,前端界面优化,解析SQL,复制SQL,去除lucene
This commit is contained in:
@@ -15,6 +15,7 @@ public enum TagNameEnum {
|
||||
* LMS系统
|
||||
*/
|
||||
LMS("LMS系统"),
|
||||
TEST("测试标签"),
|
||||
/**
|
||||
* 标记符号
|
||||
*/
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
//package org.nl.system.service.lucene;
|
||||
//
|
||||
//import com.alibaba.fastjson.JSONObject;
|
||||
//
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//
|
||||
///**
|
||||
// * <p>
|
||||
// * 、
|
||||
// * </p>
|
||||
// *
|
||||
// * @author generator
|
||||
// * @since 2023-11-16
|
||||
// */
|
||||
//public interface LuceneService {
|
||||
//
|
||||
// /**
|
||||
// * 获取数据分页
|
||||
// *
|
||||
// * @param whereJson 条件
|
||||
// * @return Map<String, Object>
|
||||
// */
|
||||
// Map<String, Object> getAll(JSONObject whereJson);
|
||||
//
|
||||
// /**
|
||||
// * 获取枚举的标签名称
|
||||
// * @return
|
||||
// */
|
||||
// List<String> getTagName();
|
||||
//}
|
||||
@@ -1,116 +0,0 @@
|
||||
//package org.nl.system.service.lucene.dto;
|
||||
//
|
||||
//import lombok.AllArgsConstructor;
|
||||
//import lombok.Builder;
|
||||
//import lombok.Data;
|
||||
//import lombok.NoArgsConstructor;
|
||||
//
|
||||
///**
|
||||
// * <p>
|
||||
// * 日志DTO
|
||||
// * </p>
|
||||
// *
|
||||
// * @author generator
|
||||
// * @since 2023-11-16
|
||||
// */
|
||||
//@Data
|
||||
//@Builder
|
||||
//@NoArgsConstructor
|
||||
//@AllArgsConstructor
|
||||
//public class LuceneLogDto {
|
||||
//
|
||||
// /**
|
||||
// * 日志标识
|
||||
// */
|
||||
// private String log_uuid;
|
||||
// /**
|
||||
// * 日志类型
|
||||
// */
|
||||
// private String logType;
|
||||
// /**
|
||||
// * 设备编号
|
||||
// */
|
||||
// private String device_code;
|
||||
// /**
|
||||
// * 内容详情
|
||||
// */
|
||||
// private String content;
|
||||
// /**
|
||||
// * 任务编码
|
||||
// */
|
||||
// private String task_code;
|
||||
// /**
|
||||
// * 指令编码
|
||||
// */
|
||||
// private String instruct_code;
|
||||
// /**
|
||||
// * 任务标识
|
||||
// */
|
||||
// private String task_id;
|
||||
// /**
|
||||
// * 载具号
|
||||
// */
|
||||
// private String vehicle_code;
|
||||
// /**
|
||||
// * 备注
|
||||
// */
|
||||
// private String remark;
|
||||
// /**
|
||||
// * 日志类型
|
||||
// */
|
||||
// private String log_type;
|
||||
// /**
|
||||
// * 方法
|
||||
// */
|
||||
// private String method;
|
||||
// /**
|
||||
// * 请求参数
|
||||
// */
|
||||
// private String requestparam;
|
||||
// /**
|
||||
// * 响应参数
|
||||
// */
|
||||
// private String responseparam;
|
||||
// /**
|
||||
// * 请求地址
|
||||
// */
|
||||
// private String requesturl;
|
||||
// /**
|
||||
// * 状态码
|
||||
// */
|
||||
// private String status_code;
|
||||
// /**
|
||||
// * 是否删除 1:是;0:否
|
||||
// */
|
||||
// private String is_delete;
|
||||
// /**
|
||||
// * 创建者
|
||||
// */
|
||||
// private String create_by;
|
||||
// /**
|
||||
// * 创建时间 YYYY-MM-DD hh:mm:ss
|
||||
// */
|
||||
// private String create_time;
|
||||
// /**
|
||||
// * 修改者
|
||||
// */
|
||||
// private String update_by;
|
||||
// /**
|
||||
// * 修改时间
|
||||
// */
|
||||
// private String update_time;
|
||||
//
|
||||
// public LuceneLogDto (final String opc_server_code,final String opc_plc_code,
|
||||
// final String device_code,final String to_home,final int last_home,
|
||||
// final int home) {
|
||||
// super ();
|
||||
// this.device_code = device_code;
|
||||
// this.content = "信号"
|
||||
// + opc_server_code + "."
|
||||
// + opc_plc_code + "."
|
||||
// + device_code + "."
|
||||
// + to_home + "变更从"
|
||||
// + last_home + "->"
|
||||
// + home;
|
||||
// }
|
||||
//}
|
||||
@@ -38,7 +38,11 @@ public class EsLogServiceImpl implements EsLogService {
|
||||
int size = whereJson.getInteger("size") != null ? whereJson.getInteger("size") : 10;
|
||||
|
||||
// 创建分页和排序(按时间倒序)
|
||||
Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.DESC, "time"));
|
||||
Sort sort = Sort.by(
|
||||
Sort.Order.desc("@timestamp"),
|
||||
Sort.Order.desc("_doc")
|
||||
);
|
||||
Pageable pageable = PageRequest.of(page, size, sort);
|
||||
|
||||
// 构建动态查询条件
|
||||
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
|
||||
@@ -85,7 +89,7 @@ public class EsLogServiceImpl implements EsLogService {
|
||||
String endTime = whereJson.getString("endTime");
|
||||
// 前端传来的数据:startTime -> 2025-05-27T16:00:00.000Z,endTime -> 2025-05-29T16:00:00.000Z
|
||||
// es的time字段: 2025-05-29T14:55:47.498+08:00
|
||||
// todo: 通过时间范围查询
|
||||
// 通过时间范围查询
|
||||
boolQuery.must(QueryBuilders.rangeQuery("time")
|
||||
.gte(startTime)
|
||||
.lte(endTime)
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
//package org.nl.system.service.lucene.impl;
|
||||
//
|
||||
//import cn.hutool.core.date.DateTime;
|
||||
//import cn.hutool.core.date.DateUtil;
|
||||
//import cn.hutool.core.util.ObjectUtil;
|
||||
//import lombok.RequiredArgsConstructor;
|
||||
//import lombok.SneakyThrows;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.apache.lucene.document.Document;
|
||||
//import org.apache.lucene.document.Field;
|
||||
//import org.apache.lucene.document.StringField;
|
||||
//import org.apache.lucene.index.IndexWriter;
|
||||
//import org.nl.common.enums.LogTypeEnum;
|
||||
//import org.nl.config.lucene.DynamicLogger;
|
||||
//import org.nl.config.lucene.LuceneIndexWriter;
|
||||
//import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||
//import org.nl.system.service.lucene.dto.LuceneLogDto;
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.MDC;
|
||||
//import org.springframework.beans.factory.annotation.Value;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//
|
||||
///**
|
||||
// * @author jlm
|
||||
// * @description 服务实现
|
||||
// * @date 2023-04-11
|
||||
// */
|
||||
//@Service
|
||||
//@RequiredArgsConstructor
|
||||
//@Slf4j
|
||||
//public class LuceneExecuteLogServiceImpl implements LuceneExecuteLogService {
|
||||
//
|
||||
// /**
|
||||
// * 日志目录
|
||||
// */
|
||||
// @Value("${logging.file.path}")
|
||||
// private String logPath;
|
||||
//
|
||||
// @Override
|
||||
// public void deviceItemValue(String device_code, String key, String value) {
|
||||
// String now = DateUtil.now();
|
||||
// }
|
||||
//
|
||||
// @SneakyThrows
|
||||
// @Override
|
||||
// public void deviceExecuteLog(LuceneLogDto luceneLogDto) {
|
||||
// luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||
// addIndex(luceneLogDto);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void interfaceExecuteLog(LuceneLogDto luceneLogDto) throws IOException {
|
||||
// luceneLogDto.setLogType(LogTypeEnum.INTERFACE_LOG.getDesc());
|
||||
// addIndex(luceneLogDto);
|
||||
// }
|
||||
//
|
||||
// private void addIndex(LuceneLogDto luceneLogDto) throws IOException {
|
||||
// IndexWriter indexWriter = LuceneIndexWriter.getIndexWriter();
|
||||
// //创建一个Document对象
|
||||
// Document document = new Document();
|
||||
// try {
|
||||
// //记录索引开始时间
|
||||
// long startTime = System.currentTimeMillis();
|
||||
// //向document对象中添加域。
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getDevice_code())) {
|
||||
// document.add(new StringField("device_code", luceneLogDto.getDevice_code(), Field.Store.YES));
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getContent())) {
|
||||
// document.add(new StringField("fieldContent", luceneLogDto.getContent(), Field.Store.YES));
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getMethod())) {
|
||||
// document.add(new StringField("method", luceneLogDto.getMethod(), Field.Store.YES));
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getStatus_code())) {
|
||||
// document.add(new StringField("status_code", luceneLogDto.getStatus_code(), Field.Store.YES));
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getRequestparam())) {
|
||||
// document.add(new StringField("requestparam", luceneLogDto.getRequestparam(), Field.Store.YES));
|
||||
// }
|
||||
// if (ObjectUtil.isNotEmpty(luceneLogDto.getResponseparam())) {
|
||||
// document.add(new StringField("responseparam", luceneLogDto.getResponseparam(), Field.Store.YES));
|
||||
// }
|
||||
// document.add(new StringField("logType", luceneLogDto.getLogType(), Field.Store.YES));
|
||||
// document.add(new StringField("logTime", DateUtil.format(new DateTime(), "yyyy-MM-dd HH:mm:ss.SSS"), Field.Store.YES));
|
||||
// indexWriter.addDocument(document);
|
||||
// //记录索引结束时间
|
||||
// long endTime = System.currentTimeMillis();
|
||||
// indexWriter.commit();
|
||||
// //实现日志文件按业务独立生成日志文件到指定路径
|
||||
// DynamicLogger loggerBuilder =new DynamicLogger(logPath+"\\"+luceneLogDto.getLogType()+"\\");
|
||||
// Logger logger = loggerBuilder.getLogger(luceneLogDto.getDevice_code());
|
||||
// logger.info("{}",luceneLogDto.toString());
|
||||
// } catch (Exception e) {
|
||||
// log.error(e.getMessage(), e);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void extLog(String name, String message) {
|
||||
// try {
|
||||
// MDC.put(name, name);
|
||||
// log.info("{}", message);
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// } finally {
|
||||
// MDC.remove(name);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
@@ -1,60 +0,0 @@
|
||||
//package org.nl.system.service.lucene.impl;
|
||||
//
|
||||
//import com.alibaba.fastjson.JSONArray;
|
||||
//import com.alibaba.fastjson.JSONObject;
|
||||
//import lombok.RequiredArgsConstructor;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.nl.config.language.LangProcess;
|
||||
//import org.nl.config.lucene.Searcher;
|
||||
//import org.nl.config.lucene.TagNameEnum;
|
||||
//import org.nl.system.service.lucene.LuceneService;
|
||||
//import org.springframework.beans.factory.annotation.Value;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//import java.util.Arrays;
|
||||
//import java.util.List;
|
||||
//import java.util.Map;
|
||||
//import java.util.stream.Collectors;
|
||||
//
|
||||
///**
|
||||
// * <p>
|
||||
// * 、
|
||||
// * </p>
|
||||
// *
|
||||
// * @author generator
|
||||
// * @since 2023-11-16
|
||||
// */
|
||||
//@Service
|
||||
//@RequiredArgsConstructor
|
||||
//@Slf4j
|
||||
//public class LuceneServiceImpl implements LuceneService {
|
||||
//
|
||||
// /**
|
||||
// * 日志索引目录
|
||||
// */
|
||||
// @Value("${lucene.index.path}")
|
||||
// private String luceneUrl;
|
||||
//
|
||||
// @Override
|
||||
// public Map<String, Object> getAll(JSONObject whereJson) {
|
||||
// JSONObject jo = new JSONObject();
|
||||
// try {
|
||||
// JSONObject jsonObject = (JSONObject) Searcher.search(luceneUrl, whereJson);
|
||||
// JSONArray array = jsonObject.getJSONArray("content");
|
||||
// int totalElements = Integer.parseInt(jsonObject.get("totalElements").toString());
|
||||
// jo.put("content", array);
|
||||
// jo.put("totalElements", totalElements);
|
||||
// } catch (Exception e) {
|
||||
// log.error("索引查询为空", e);
|
||||
// throw new NullPointerException(LangProcess.msg("error_NullPoint"));
|
||||
// }
|
||||
//
|
||||
// return jo;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<String> getTagName() {
|
||||
// return Arrays.stream(TagNameEnum.values()).map(TagNameEnum::getTag).collect(Collectors.toList());
|
||||
// }
|
||||
//
|
||||
//}
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.nl.system.service.quartz.task;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.config.lucene.TagNameEnum;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
@@ -13,7 +15,28 @@ import org.springframework.stereotype.Component;
|
||||
public class TestTask {
|
||||
|
||||
public void run(){
|
||||
MDC.put("tag", TagNameEnum.TEST.getTag());
|
||||
log.info("run 执行成功");
|
||||
this.skip1();
|
||||
}
|
||||
|
||||
private void skip1() {
|
||||
log.info("跳跃这里啦");
|
||||
this.skip2();
|
||||
}
|
||||
|
||||
private void skip2() {
|
||||
try {
|
||||
int a = 1 / 0;
|
||||
} catch (Exception e) {
|
||||
log.error("报错啦:{}", e.getStackTrace());
|
||||
} finally {
|
||||
skip3();
|
||||
}
|
||||
}
|
||||
|
||||
private void skip3() {
|
||||
int a = 12 / 0;
|
||||
}
|
||||
|
||||
public void run1(String str){
|
||||
|
||||
@@ -50,31 +50,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
<!-- <appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" >-->
|
||||
<!-- <!– Filter for INFO level –>-->
|
||||
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
|
||||
<!-- <level>INFO</level>-->
|
||||
<!-- <onMatch>ACCEPT</onMatch>-->
|
||||
<!-- <onMismatch>NEXT</onMismatch>-->
|
||||
<!-- </filter>-->
|
||||
<!-- <!– Filter for WARN level –>-->
|
||||
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
|
||||
<!-- <level>WARN</level>-->
|
||||
<!-- <onMatch>ACCEPT</onMatch>-->
|
||||
<!-- <onMismatch>NEXT</onMismatch>-->
|
||||
<!-- </filter>-->
|
||||
<!-- <!– Filter for ERROR level –>-->
|
||||
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">-->
|
||||
<!-- <level>ERROR</level>-->
|
||||
<!-- <onMatch>ACCEPT</onMatch>-->
|
||||
<!-- <onMismatch>DENY</onMismatch>-->
|
||||
<!-- </filter>-->
|
||||
<!-- </appender>-->
|
||||
<!-- <appender name="asyncLuceneAppender" class="ch.qos.logback.classic.AsyncAppender">-->
|
||||
<!-- <appender-ref ref="luceneAppender" />-->
|
||||
<!-- <!– 设置队列大小 –>-->
|
||||
<!-- <queueSize>512</queueSize>-->
|
||||
<!-- </appender>-->
|
||||
|
||||
<!--异步到文件-->
|
||||
<appender name="asyncFileAppender" class="com.yomahub.tlog.core.enhance.logback.async.AspectLogbackAsyncAppender">
|
||||
@@ -138,7 +113,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
<springProfile name="dev">
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
<logger name="org.elasticsearch.client.RestClient" level="ERROR" additivity="false">
|
||||
@@ -146,23 +120,23 @@ https://juejin.cn/post/6844903775631572999
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.reflections.Reflections" level="ERROR" additivity="false">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.springframework" level="ERROR" additivity="true">
|
||||
@@ -230,43 +204,55 @@ https://juejin.cn/post/6844903775631572999
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="INFO">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
</root>
|
||||
<logger name="org.springframework" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.hibernate" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="io.netty" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="io.lettuce" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.fasterxml" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="springfox" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="log4jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="nl.basjes" level="ERROR" additivity="false">
|
||||
<appender-ref ref="ELASTIC"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
</springProfile>
|
||||
|
||||
Reference in New Issue
Block a user