添加 Maven 依赖初始化客户端配置查询数据
添加 Maven 依赖初始化客户端配置org.elasticsearch.client elasticsearch-rest-high-level-client 7.7.1 org.elasticsearch elasticsearch org.elasticsearch elasticsearch 7.7.1
@Bean
public RestHighLevelClient restHighLevelClient() {
RestClientBuilder builder = RestClient.builder(this.getHosts());
return new RestHighLevelClient(builder);
}
private HttpHost[] getHosts() {
String[] httpHosts = uris.split(",");
return Arrays.stream(httpHosts).map(item -> {
String[] nodes = item.split(":");
return new HttpHost(nodes[0], Integer.parseInt(nodes[1]));
}).toArray(HttpHost[]::new);
}
spring.elasticsearch.uris=150.158.148.77:9200,150.158.148.78:9200,150.158.148.79:9200查询数据
@Autowired
private RestHighLevelClient client;
@Test
void searchTest() throws IOException {
SearchRequest searchRequest = new SearchRequest("index-test");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(QueryBuilders.termQuery("username", "tommy"));
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
// 请求状态
RestStatus status = searchResponse.status();
// 执行时间
Timevalue took = searchResponse.getTook();
// 搜索结果
SearchHit[] searchHits = searchResponse.getHits().getHits();
for (SearchHit searchHit : searchHits) {
String sourceAsString = searchHit.getSourceAsString();
System.out.println(sourceAsString);
}
}



