springboot 集成elasticsearch 有多种方式,分别是
- Java API 这种方式基于TCP和ES通信,官方已经明确表示在ES 7.0版本中将弃用TransportClient客户端,且在8.0版本中完全移除它,所以不提倡。
- REST Client 官方也给出了基于HTTP的客户端REST Client(推荐使用),官方给出来的REST Client有Java Low Level REST Client和Java Hight Level REST Client两个,前者兼容所有版本的ES,后者是基于前者开发出来的,只暴露了部分API,待完善。
- spring-data-elasticsearch,除了上述方式,Spring也提供了本身基于SpringData实现的一套方案spring-data-elasticsearch。
1、使用IDEA开发工具,新建Springboot项目,选择图中所用的组件
2、配置application.yml
application.yml
1
2
3
4
5
6
7
8
9
10
11
12
server:
port:
8080
spring:
application:
name:
boot-search
elasticsearch:
rest:
uris:
192
.168.123.123:
9200
read-timeout:
30s
connection-timeout:
5s
- uris: 设置elastisearch的连接地址
- read-timeout: 设置数据读取的超时时间
- connect-timeout: 设置连接超时的时间
# es集群配置application.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
server:
port:
8080
spring:
application:
name:
boot-search
elasticsearch:
rest:
uris:
-
192
.168.123.123:
9200
-
192
.168.123.124:
9200
read-timeout:
30s
connection-timeout:
5s
3、建立实体类
Book.java
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import
com.fasterxml.jackson.annotation.JsonFormat;
import
lombok.Data;