近期项目中接入elasticsearch,供管理台大表的数据模糊查询,在原有spring项目中引入spring-data-elasticsearch,以及使用searchGuard进行鉴权
版本
spring-data-es与使用的es版本有直接关系,这里找到响应的spring-data-es版本。注意spring-data-es依赖包中包含spring的相关框架,如果与原有系统的冲突需要兼容
search Guard的版本也要与es相匹配
Client
es的java api主要提供了两种client,一个是使用http协议的rest client,一个是基于tcp的transport client,也即是es针对java语言封装的api,在高版本中默认会使用http协议
static class Config {
@Bean
Client client() {
Settings settings = Settings.builder()
.put("cluster.name", "elasticsearch")
.build();
TransportClient client = new PreBuiltTransportClient(settings);
//注意tcp的端口与http不同