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
启动成功
基础操作
官网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.csdn.net/weixin_42260782/article/details/108304524
自定义
上一篇: 帮忙看一下这个有关问题
下一篇: 尋求最快的數組求值解決方案解决办法