springboot整合Elasticsearch
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
在properties添加配置
liufucheng.elasticsearch.hostlist=localhost:9200
新建配置类
@Configuration
public class ElasticSearchClientConfig {
@Value("${liufucheng.elasticsearch.hostlist}")
String hostlist;
@Bean
public RestHighLevelClient restHighLevelClient() {
String[] split = hostlist.split(",");
HttpHost[] httpHosts= new HttpHost[split.length];
for (int i=0;i<split.length;i++){
String item=split[i];
httpHosts[i]=new HttpHost(item.split(":")[0],Integer.parseInt(item.split(":")[1]),"http");
}
return new RestHighLevelClient(RestClient.builder(httpHosts));
}
}
测试
@Autowired
RestHighLevelClient restHighLevelClient;
/**
* 新建索引
* @throws Exception
*/
@Test
void testCreateIndex() throws IOException {
//创建请求
CreateIndexRequest request = new CreateIndexRequest("user");
CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(request, RequestOptions.DEFAULT);
}
/**
* 查询索引
* @throws IOException
*/
@Test
void testExistIndex() throws IOException {
GetIndexRequest request = new GetIndexRequest("user");
boolean exists = restHighLevelClient.indices().exists(request, RequestOptions.DEFAULT);
System.out.println(exists);
}
/**
* 获取文档信息
* @throws IOException
*/
@Test
void testGetDocument() throws IOException {
GetRequest getRequest = new GetRequest("user", "1");
GetResponse documentFields = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT);
System.out.println(documentFields.getSource());
System.out.println(documentFields.getVersion());
System.out.println(documentFields.getId());
}