Spring Boot 集成 Elasticsearch 实战

@Configuration

public class ElasticsearchConfiguration {

@Value(“${elasticsearch.host}”)

private String host;

@Value(“${elasticsearch.port}”)

private int port;

@Value(“${elasticsearch.connTimeout}”)

private int connTimeout;

@Value(“${elasticsearch.socketTimeout}”)

private int socketTimeout;

@Value(“${elasticsearch.connectionRequestTimeout}”)

private int connectionRequestTimeout;

@Bean(destroyMethod = “close”, name = “client”)

public RestHighLevelClient initRestClient() {

RestClientBuilder builder = RestClient.builder(new HttpHost(host, port))

.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder

.setConnectTimeout(connTimeout)

.setSocketTimeout(socketTimeout)

.setConnectionRequestTimeout(connectionRequestTimeout));

return new RestHighLevelClient(builder);

}

}

定义文档实体类

首先在 constant 包下定义常量接口,在接口中定义索引的名字为 user :

public interface Constant {

String INDEX = “user”;

}

然后在 document 包下创建一个文档实体类:

public class UserDocument {

private String id;

private String name;

private String sex;

private Integer age;

private String city;

// 省略 getter/setter

}

ES 基本操作

在这里主要介绍 ES 的索引、文档、搜索相关的简单操作,在 service 包下创建 UserService类。

索引操作

在这里演示创建索引和删除索引:

创建索引

在创建索引的时候可以在 CreateIndexRequest 中设置索引名称、分片数、副本数以及 mappings,在这里索引名称为 user ,分片数 number_of_shards 为 1,副本数 number_of_replicas 为 0,具体代码如下所示:

public boolean createUserIndex(String index) throws IOException {

CreateIndexRequest createIndexRequest = new CreateIndexRequest(index);

createIndexRequest.settings(Settings.builder()

.pu

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值