ElasticSearch7

配置修改


SpringBoot版本升级

在SpringBoot2.2.x版本才支持ElasticSearch7.x,所以我们先需要升级SpringBoot版本。

org.springframework.boot

spring-boot-starter-parent

2.2.2.RELEASE

ES连接配置修改

原来spring-boot-starter-data-elasticsearch连接ES的配置如下:

spring.data.elasticsearch.cluster-nodes = 172.31.0.207:9300

spring.data.elasticsearch.cluster-name = elk-cluster

spring.data.elasticsearch.repositories.enabled = true

升级后主要使用rest接口进行连接,由于开启了x-pack认证,所以需要修改es的账号密码,修改后配置如下:

spring.elasticsearch.rest.uris = 172.31.0.207:9300

spring.elasticsearch.rest.username = elastic

spring.elasticsearch.rest.password = changeme

ElasticsearchTemplate升级

原来spring-boot-starter-data-elasticsearch连接ES主要使用ElasticsearchTemplate进行操作,新版本主要使用ElasticsearchRestTemplate

@Autowired

private ElasticsearchRestTemplate elasticsearchRestTemplate;

案例源码


  • pom文件

<project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”>

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.2.2.RELEASE

com.jianzh5

esalarm

0.0.1-SNAPSHOT

esalarm

org.springframework.boot

spring-boot-starter-web

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-data-elasticsearch

  • 建立ElasticSearch实体类LogDoc

@Data

@Document(indexName = “alarm-*”,type = “_doc”)

public class LogDoc implements Serializable {

private static final long serialVersionUID = 6320548148250372657L;

@Id

private String id;

private String logLevel;

private String module;

private String system;

private String refCode;

private String response;

private String parm;

private String message;

private long logTime;

}

  • 建立LogRepository,操作底层查询

@Repository

public interface LogRepository extends ElasticsearchRepository<LogDoc,String> {

}

  • 建立接口层LogService

public interface LogService {

/**

  • 根据ID获取对应的实体

  • @param id 日志id

  • @return

*/

LogDoc getById(String id);

/**

  • 根据时间范围查找指定格式的日志

  • @author javadaily

  • @date 2019/9/21 9:24

  • @param minRange 开始时间

  • @param maxRange 结束时间

  • @param logLevel 日志级别

  • @return 日志列表

*/

List findRangeLogByLevel(DateTime minRange,DateTime maxRange,String logLevel);

}

  • 建立接口实现层LogServiceImpl

/**

  • @author javadaily

  • @date 2019/9/10 15:12

*/

@Service

public class LogServiceImpl implements LogService {

@Autowired

private LogRepository logRepository;

@Autowired

private ElasticsearchRestTemplate elasticsearchRestTemplate;

@Override

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值