创建项目
创建一个 springboot 项目 lvshui5u-search
添加依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.4.2</version>
</dependency>
配置类
在使用 RestHighLevelClient 实例时需要一个 REST low-level client builder 来帮助构建。
配置类 ESConfig.java
/**
* @author: lvshui5u
* @date: 2021/7/30 18:33
* @describe:
*/
@Configuration
public class ESConfig {
@Bean
public RestHighLevelClient esRestClient(){
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http")));
return client;
}
}
localhost 处填写 ES 所在服务器位置
测试
@Autowired
private RestHighLevelClient client;
/**
* 存储数据
*/
@Test
public void indexData() throws IOException {
// 构建一个 index 请求,指定 index
IndexRequest indexRequest = new IndexRequest("users");
// 指定 id,不指定则自动生成
indexRequest.id("1");
// 利用工具类生成一条 json 数据
User user = new User();
user.setUsername("lvshui5u");
user.setGender("male");
user.setAge(22);
String source = JSON.toJSONString(user);
// 指定传入数据的 source,并指明格式
indexRequest.source(source, XContentType.JSON);
// 使用 client 的 index 方法进行数据插入,并返回返回体
IndexResponse response = client.index(indexRequest, RequestOptions.DEFAULT);
System.out.println(response);
}
@Data
static class User{
String username;
String gender;
Integer age;
}
注:生成 source 的方法有多种,可参考官方文档。
返回体
IndexResponse[index=users,type=_doc,id=1,version=1,result=created,seqNo=0,primaryTerm=1,shards={"total":2,"successful":1,"failed":0}]
搜索操作可参考官方文档,比别人写的清楚多了~
本文档介绍了如何在Spring Boot项目中配置并使用Elasticsearch官方的Java REST High Level Client。首先,通过添加相关依赖,创建了一个名为lvshui5u-search的项目。接着,配置了ESConfig类,利用`RestHighLevelClient`初始化连接到本地Elasticsearch服务器。然后,展示了如何存储数据,包括构建`IndexRequest`,设置JSON源数据,并调用`index`方法将数据插入到Elasticsearch的`users`索引。最后,给出了插入操作的返回体。
1125

被折叠的 条评论
为什么被折叠?



