欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-06 11:39:14
...

一 安装与运行

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

启动

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 学习笔记雷锋阳老师

基础操作

官网https://www.elastic.co/guide/cn/index.html
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师

实例

新建索引文案

目的
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
postman发送请求
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
添加更多的员工
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师

检索文档

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

轻量搜索

搜索所有员工
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
条件查询
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师

使用表达式进行查询

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

全文检索

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

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

短语搜索

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

高亮搜索

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

Springboot整合Jest 操作ES

新建项目
SpringBoot整合ElasticSearch 学习笔记雷锋阳老师

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

Springboot整合SpringDataElasticsearch操作ES

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

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

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

自定义

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

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