Spring Boot 集成 Elasticsearch怎样在不启动es的情况下正常启动服务

解释

在spingboot 集成es客户端后,每当服务启动时,服务默认都会查看es中是否已经创建了对应的索引,如果没有索引则创建。基于上面的规则我们可以通过配置不自动创建索引来达到在没有es服务的情况下正常启动服务。

解决办法

  • 在entity类的@Document注解中添加属性createIndex=false
java 复制代码
@Data
@Document(indexName = "resource_index",createIndex=false)
public class ResourceEntity {
	XXXXXX
}

源码追踪

  • 有兴趣的同学可以参考一下:
  1. 如果需要创建mapping,且索引不存在,则执行创建操作

  2. 查询索引是否存在

相关推荐
你的人类朋友2 小时前
✍️【Node.js程序员】的数据库【索引优化】指南
前端·javascript·后端
诺浅4 小时前
AWS S3 SDK FOR JAVA 基本使用及如何兼容七牛云
java·spring boot·aws
why技术6 小时前
翻译翻译,什么叫“编程专用”的显示器?
前端·后端
野生技术架构师7 小时前
SpringBoot集成Tess4j :低成本解锁OCR 图片识别能力
spring boot·后端·ocr
天天摸鱼的java工程师7 小时前
要在 Spring IoC 容器构建完毕之后执行一些逻辑,怎么实现
后端
程序猿小D7 小时前
第25节 Node.js 断言测试
后端·node.js·log4j·编辑器·vim·apache·restful
sg_knight7 小时前
Ribbon负载均衡实战指南:7种策略选择与生产避坑
java·spring boot·spring·spring cloud·微服务·ribbon·负载均衡
猩猩之火8 小时前
XWPFTemplate生成word
spring boot·word·动态word
shengjk18 小时前
一文搞懂 TCP TCP/IP 和 TCP/IP网络分层之间的联系和区别
后端