jest是一批操作es的http api接口,你可以像使用普法方法一下操作es,在springboot2.3.0之前,JestClient是支持自动注入的,而在2.3.0之后,你必须为JestClient写一个组件类,通过注入组件类来使用jest,这一点有些麻烦了。
依赖包
<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest</artifactId>
<version>5.3.3</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.6.7</version>
</dependency>
需要定义注册类
/**
* springboot2.3.0之后不支持自动注册,只能手动写注册配置文件.
*/
@Component
public class JestClientConfig {
@Bean
public io.searchbox.client.JestClient getJestCline() {
JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(new HttpClientConfig
.Builder("http://localhost:9200")
.multiThreaded(true)
.build());
return factory.getObject();
}
}
在程序中使用它
@Autowired
JestClient jestClient;
/**
* 创建所引
*
* @throws IOException
*/
@Test
public void createIndex() throws IOException {
User user = new User("1", "张三", "test");
Index index = new Index.Builder(user).index(INDEX).type(TYPE).build();
try {
JestResult jr = jestClient.execute(index);
System.out.println(jr.isSucceeded());
} catch (IOException e) {
e.printStackTrace();
}
}
数据成功插入