配置 Elasticsearch
连接信息
application.yml
spring:
elasticsearch:
rest:
uris:
- http://localhost:9200
username: elastic
password: password
pom.xml
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
</dependencies>
RestHighLevelClient 基础用法
/**
* The type Elasticsearch test.
*/
@Slf4j
public class ElasticsearchTest extends Tester {
@Autowired
private RestHighLevelClient restHighLevelClient;
@Test
public void testEsRestClient() {
SearchRequest searchRequest = new SearchRequest("megacorp");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.matchPhraseQuery("about", "build cabinets"));
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
searchRequest.source(sourceBuilder);
try {
SearchResponse response = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
Arrays.stream(response.getHits().getHits())
.forEach(i -> {
log.info(i.getIndex());
log.info(i.getSourceAsString());
log.info(i.getType());
});
System.out.println(response.getHits().totalHits);
} catch (IOException e) {
e.printStackTrace();
}
}
}