解释
在spingboot 集成es客户端后,每当服务启动时,服务默认都会查看es中是否已经创建了对应的索引,如果没有索引则创建。基于上面的规则我们可以通过配置不自动创建索引来达到在没有es服务的情况下正常启动服务。
解决办法
- 在entity类的@Document注解中添加属性createIndex=false
java
@Data
@Document(indexName = "resource_index",createIndex=false)
public class ResourceEntity {
XXXXXX
}
源码追踪
- 有兴趣的同学可以参考一下:
-
如果需要创建mapping,且索引不存在,则执行创建操作
-
查询索引是否存在