1.查看springboot与elasticsearch版本对应关系
2.查看elasticsearch与jdk版本对应关系
3.下载对应版本的elasticsearch
测试环境 jdk:1.8 springboot:2.2.13.RELEASE spring-boot-starter-data-elasticsearch:2.2.13.RELEASE spring-data-elasticsearch:3.2.12.RELEASE (spring-boot-starter-data-elasticsearch依赖版本) elasticsearch:6.8.6
4.配置elasticsearch
4.1 进入elasticsearch安装目录下的config目录,修改elasticsearch.yml文件,在文件的末尾加入以下代码 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true 4.2 去掉注释/修改 cluster.name: my-application node.name: node-1 path.data:配置data目录(一般在elasticsearch安装目录下创建data目录) path.logs:配置logs目录(如果elasticsearch安装目录下没有logs目录,创建logs目录) network.host: 0.0.0.0 (修改) http.port: 9200
5.查看elasticsearch运行情况
5.1 进入elasticsearch-6.8.6bin 下运行 elasticsearch.bat 5.2 9300:Java程序访问的端口 9200:浏览器、postman访问的端口 5.3 访问 http://127.0.0.1:9200
5.4 显示如下说明运行成功
6.配置elasticsearch服务(选配)
6.1 进入ElasticSearch 的bin 目录 执行 elasticsearch-service.bat install 这时已经是windows服务了 6.2:然后执行 elasticsearch-service.bat manager 然后把 use default 勾上 或者把 JAVA Virtual Machine 设置成绝对路径 6.3 查看windows服务: Elasticsearch 6.8.6 (elasticsearch-service-x64) 6.4 这样以后启动 更方便
7.下载配置客户端 elasticsearch-head
7.1解压到指定文件夹下,进入该文件夹 elasticsearch-head-master,修改elasticsearch-head-masterGruntfile.js 在对应的位置加上hostname:’*’、
server: {
options: {
hostname: '*',
port: 9100,
base: '.',
keepalive: true
}
}
7.2 es5以上版本安装head需要安装node和grunt
8.安装node
8.1 配置node环境变量 8.2 node -v 查看版本,查看是否安装成功
9.grunt
执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
10.运行head
10.1 cmd进入elasticsearch-head-master安装目录下执行npm install 安装。 10.2 安装完成后执行grunt server 或者npm run start 运行head插件,如果运行不成功建议重新安装 grunt。 10.3 访问 http://127.0.0.1:9100
11.安装Ik分词器
11.1 ik分词器与es的版本要一致 11.2 下载 elasticsearch-analysis-ik-xxx 压缩包 11.3 重命名解压包为 ik 11.4 将ik包 复制到安装目录elasticsearch-6.8.6plugins 下 11.5 进入elasticsearch-6.8.6bin下 执行 elasticsearch.bat 启动服务 查看加载的插件 11.6 cmd显示 loaded plugin [analysis-ik] 即ik分词器安装成功
12.springboot集成spring data elasticsearch
12.1 配置pom12.2 配置 yaml spring: data: elasticsearch: cluster-name: my-application cluster-nodes: 127.0.0.1:9300 org.springframework.boot spring-boot-starter-data-elasticsearch
13.基本测试
13.1 创建pojo对象
import lombok.Data;
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.stereotype.Component;
@document(indexName = "houseindex",type = "house")
@Component
@Data
public class HouseIndexTemplate {
@Id
private Long id;
// 使用分词器
@Field(type = FieldType.Text, analyzer = "ik_max_word", searchAnalyzer = "ik_max_word")
private String title;
@Field(type = FieldType.Keyword)
private String name;
@Field(type = FieldType.Integer)
private int price;
}
13.2接口
public interface HouseRepository extends ElasticsearchRepository {
}
13.3 测试
@Test
public void selectUser(){
HouseIndexTemplate template = new HouseIndexTemplate();
template.setId(1L);
template.setName("Tom");
template.setTitle("tom");
houseRepository.save(template);
}
13.4 http://localhost:9100/ 查看创建的数据


![[问题记录]springboot集成spring data elasticsearch(win) [问题记录]springboot集成spring data elasticsearch(win)](http://www.mshxw.com/aiimages/31/571324.png)
