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

文章目录

  • 一 安装与运行
    • 介绍![在这里插入图片描述](https://img-blog.csdnimg.cn/20201102091518740.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY5MTc3Mw==,size_16,color_FFFFFF,t_70#pic_center)
  • 基础操作
    • 实例
      • 新建索引文案
      • 检索文档
      • 轻量搜索
      • 使用表达式进行查询
      • 全文检索
      • 短语搜索
      • 高亮搜索
  • Springboot整合Jest 操作ES
  • Springboot整合SpringDataElasticsearch操作ES
      • 自定义

一 安装与运行

介绍SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第1张图片

启动

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


启动成功

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第2张图片

基础操作

官网https://www.elastic.co/guide/cn/index.html
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第3张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第4张图片

实例

新建索引文案

目的
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第5张图片
postman发送请求
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第6张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第7张图片
添加更多的员工
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第8张图片

检索文档

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第9张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第10张图片
head 检索是否存在该员工
没有返回体 但是有响应数据
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第11张图片
检索一个不存在的员 返回 404
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第12张图片
delete删除索引
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第13张图片
测试 发现成功删除
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第14张图片
更新索引
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第15张图片
总结
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第16张图片

轻量搜索

搜索所有员工
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第17张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第18张图片
条件查询
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第19张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第20张图片

使用表达式进行查询

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第21张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第22张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第23张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第24张图片

全文检索

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第25张图片

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第26张图片

短语搜索

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第27张图片

高亮搜索

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第28张图片
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第29张图片

Springboot整合Jest 操作ES

新建项目
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第30张图片

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实现
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第31张图片
配置application…properties文件
发现jest过期了
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第32张图片
现在好像改用rest 进行交互了
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第33张图片

Springboot整合SpringDataElasticsearch操作ES

elastic7以上很多方法都过时了
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第34张图片

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第35张图片
官网文档
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第36张图片
导入依赖
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第37张图片
新建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
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第38张图片
参考地址 https://blog.csdn.net/weixin_42260782/article/details/108304524

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第39张图片

自定义

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第40张图片

SpringBoot整合ElasticSearch 学习笔记雷锋阳老师_第41张图片

你可能感兴趣的:(学习笔记,Springboot整合系列,elasticsearch)