引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
增加配置:
application.yml
elasticsearch:
url: 127.0.0.1
port: 9200
配置类:
@Configuration
public class ElasticSearchConfig {
@Value("#{elasticsearch.url}")
private String url;
@Value("#{elasticsearch.port}")
private String port;
@Bean
public RestHighLevelClient restHighLevelClient(){
RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(url, port)));
return client;
}
}
操作Elasticsearch:
public Boolean createIndex(String indexNam) {
CreateIndexRequest createIndexRequest = new CreateIndexRequest(indexNam.toLowerCase());
createIndexRequest.settings(Settings.builder().put("index.number_of_shards", 4)
.put("index.number_of_replicas", 2));
try {
XContentBuilder xContentBuilder= XContentFactory.jsonBuilder();
xContentBuilder.startObject().startObject("properties")
.startObject("type").field("type", "integer").endObject()
.startObject("content").field("type", "text").field("analyzer", "ik_max_word").endObject()
.endObject().endObject();
createIndexRequest.mapping(xContentBuilder);
CreateIndexResponse response = restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
boolean acknowledged = response.isAcknowledged();
boolean shardsAcknowledged = response.isShardsAcknowledged();
if (acknowledged || shardsAcknowledged) {
log.info("创建索引成功!索引名称为{}", indexNam);
return Boolean.TRUE;
}
} catch (IOException e) {
log.info("创建索引失败{}",e);
}
return Boolean.FALSE;
}
更多用法参考博客:
springboot集成elasticsearch_love_燕子的博客-CSDN博客_springboot集成elasticsearch