关于Elasticsearch 的介绍,可以参考之前的文章:
Elasticsearch和Kibana最新版(v7.3.0)下载、安装、启动(WINDOWS)
Elasticsearch 术语介绍和CRUD实际操作入门
Beats:Elasticsearch 的数据采集器-快速入门
最新版Elasticsearch 7.x入门操作
最新版Elasticsearch 7.x master 主节点找不到或者还没有选举?
Elasticsearch Head Chrome浏览器插件安装和使用(最新版7.x)
订单中心基于Elasticsearch 7.x构建订单查询服务
下面具体演示Elasticsearch 6.4.3 和Spring Boot 2.1.7集成-实战演练的详细截图和操作步骤。
一、使用IntelliJ IDEA 创建Spring Boot、Maven项目
如下图所示,选择Spring Initializr选项。
二、在New Project窗口填写项目元数据
如Group、Artifact等等信息。
三、选择相关的依赖项
根据实际项目的需要,选择相关的依赖项。这样,需要注意2点。
(1)Spring Boot的版本,选择新版 2.1.7;
(2)选择NoSQL/Spring Data Elasticsearch依赖项(必选项,其他可选);
四、项目模块创建完成
下面是项目创建完成之后,删除一些无用的maven 文件和目录。
五、编写具体演示代码
(1)首先,在项目中添加application.yml 配置文件,如下所示。
其中,需要说明的是 cluster-nodes 节点,配置为本地 127.0.0.1:7300。
9200 端口是用来让HTTP REST API来访问ElasticSearch,而9300端口是传输层监听的默认端口。
spring.data.elasticsearch.cluster-name Elasticsearch 集群名。(默认值: elasticsearch)
注意:cluster.name需要与Elasticsearch安装目录下config/elasticsearch.yml中的cluster.name一致(默认也是elasticsearch)
spring.data.elasticsearch.cluster-nodes 集群节点地址列表,用逗号分隔。如果没有指定,就启动一个客户端节点。
spring.data.elasticsearch.propertie 用来配置客户端的额外属性。 spring.data.elasticsearch.repositories.enabled 开启 Elasticsearch 仓库。(默认值:true。)
(2)写一个简单的TestController.java,验证Spring Boot 项目工作正常。
启动Spring Boot演示项目,访问 http://localhost:8088/hello,如工作正常,则返回 hello world 字样。
此时,证明 Spring Boot 演示项目工作正常。
(3)创建Model包中的实体类
演示项目背景:每个文章(Article)都要属于一个教程(Course),而且每个文章都要有一个作者(Author)。
Course.java
package com.rickie.elasticsearch.demo.model;
import java.io.Serializable;
public class Course implements Serializable {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Course{" +
"id=" + id +