SpringBoot整合ElasticSearch 学习笔记雷锋阳老师

本文档介绍了如何在SpringBoot中整合ElasticSearch,从安装运行到基础操作,包括新建索引、检索文档、全 文检索等。同时探讨了使用Jest和SpringDataElasticsearch两种方式的整合,并针对SpringDataElasticsearch在高版本中的变化进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 安装与运行

介绍在这里插入图片描述

启动

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES03 929d271f1798

或者
docker run --name es13  -p 9200:9200 -p 9300:9300  -d  -e "discovery.type=single-node" 929d271f1798


启动成功

在这里插入图片描述

基础操作

官网https://www.elastic.co/guide/cn/index.html
在这里插入图片描述

实例

新建索引文案

目的
在这里插入图片描述
postman发送请求
在这里插入图片描述
在这里插入图片描述
添加更多的员工
在这里插入图片描述

检索文档

在这里插入图片描述
在这里插入图片描述
head 检索是否存在该员工
没有返回体 但是有响应数据
在这里插入图片描述
检索一个不存在的员 返回 404
在这里插入图片描述
delete删除索引
在这里插入图片描述
测试 发现成功删除
在这里插入图片描述
更新索引
在这里插入图片描述
总结
在这里插入图片描述

轻量搜索

搜索所有员工
在这里插入图片描述
在这里插入图片描述
条件查询
在这里插入图片描述
在这里插入图片描述

使用表达式进行查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全文检索

在这里插入图片描述

在这里插入图片描述

短语搜索

在这里插入图片描述

高亮搜索

在这里插入图片描述
在这里插入图片描述

Springboot整合Jest 操作ES

新建项目
在这里插入图片描述

Springboot默认使用springData ElasticSearch模块进行操作
Springboot默认支持两种技术来支持ES交互
1 .Jest
需要导入jest的工具包 (io.searchbox.client.JestClient)
2, springData ElasticSearch
(1) client节点信息clusterNodes ;clusterName
(2) ElasticSearchTemplate 操作Es
(3) 编写一个ElasticsearchResposity的子接口来操作ES

先注掉springdate 用jest实现

配置application…properties文件
发现jest过期了
在这里插入图片描述
现在好像改用rest 进行交互了
在这里插入图片描述

Springboot整合SpringDataElasticsearch操作ES

elastic7以上很多方法都过时了
在这里插入图片描述

在这里插入图片描述
官网文档
在这里插入图片描述
导入依赖
在这里插入图片描述
新建config配置类

package com.luyi.config;

import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.client.ClientConfiguration;
import org.springframework.data.elasticsearch.client.RestClients;

/**
 * @author 卢意
 * @create 2020-11-02 11:22
 */
@Configuration
public class ElasticsearchConfig {

	@Bean
	RestHighLevelClient elasticsearchClient() {

		ClientConfiguration clientConfiguration = ClientConfiguration.builder()
				.connectedTo("192.168.216.130:9200")
				//.withConnectTimeout(Duration.ofSeconds(5))
				//.withSocketTimeout(Duration.ofSeconds(3))
				//.useSsl()
				//.withDefaultHeaders(defaultHeaders)
				//.withBasicAuth(username, password)
				// ... other options
				.build();

		return RestClients.create(clientConfiguration).rest();
	}
}



创建的Repository接口:

package com.luyi;

import com.luyi.bean.Article;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

/**
 * @author 卢意
 * @create 2020-11-02 11:34
 */
																// 数据类型  ,  主键类型
public interface ArticleRepository extends ElasticsearchRepository<Article,Integer> {
}


记得在实体类加入
@Document(indexName = “luyi”,type = “book”)
发现type
已经废弃
所以不添加type
在这里插入图片描述
参考地址 https://blog.youkuaiyun.com/weixin_42260782/article/details/108304524

在这里插入图片描述

自定义

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值