69 lines
2.7 KiB
Java
69 lines
2.7 KiB
Java
package org.nl;
|
||
|
||
import org.apache.http.HttpHost;
|
||
import org.elasticsearch.action.search.SearchRequest;
|
||
import org.elasticsearch.action.search.SearchResponse;
|
||
import org.elasticsearch.client.RequestOptions;
|
||
import org.elasticsearch.client.RestClient;
|
||
import org.elasticsearch.client.RestHighLevelClient;
|
||
import org.elasticsearch.index.query.QueryBuilders;
|
||
import org.elasticsearch.rest.RestStatus;
|
||
import org.elasticsearch.search.SearchHit;
|
||
import org.elasticsearch.search.SearchHits;
|
||
import org.elasticsearch.search.builder.SearchSourceBuilder;
|
||
import org.springframework.context.annotation.Bean;
|
||
import org.springframework.context.annotation.Configuration;
|
||
|
||
import java.io.IOException;
|
||
import java.util.Map;
|
||
|
||
/**
|
||
* @author ldjun
|
||
* @version 1.0
|
||
* @date 2023年02月06日 18:49
|
||
* @desc desc
|
||
*/
|
||
@Configuration
|
||
public class ElasticSearchClientConfig {
|
||
|
||
|
||
//配置RestHighLevelClient依赖到spring容器中待用
|
||
@Bean
|
||
public RestHighLevelClient restHighLevelClient() {
|
||
RestHighLevelClient client = new RestHighLevelClient(
|
||
RestClient.builder(
|
||
//绑定本机,端口,协议,如果是ES集群,就配置多个
|
||
new HttpHost("127.0.0.1", 9200, "http")));
|
||
|
||
return client;
|
||
}
|
||
|
||
public static void main(String[] args) throws IOException {
|
||
// 指定ip 端口
|
||
HttpHost[] httpHosts = {new HttpHost("47.111.78.178", 27017, "http")};
|
||
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(httpHosts));
|
||
|
||
SearchRequest searchRequest = new SearchRequest("logs-2023-02-06");
|
||
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
|
||
sourceBuilder.query(QueryBuilders.matchQuery("_id", "HzAeJoYBlkwLvExN1Vg4"));
|
||
searchRequest.source(sourceBuilder);
|
||
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
|
||
RestStatus restStatus = searchResponse.status();
|
||
System.out.println(restStatus);
|
||
if (restStatus == RestStatus.OK) {
|
||
SearchHits searchHits = searchResponse.getHits();
|
||
for (SearchHit searchHit: searchHits) {
|
||
System.out.println("id:" + searchHit.getId());
|
||
System.out.println("index:" + searchHit.getIndex());
|
||
System.out.println("score:" + searchHit.getScore());
|
||
Map<String, Object> map = searchHit.getSourceAsMap();
|
||
System.out.println("name:" + (String) map.get("name"));
|
||
System.out.println("city:" + (String) map.get("city"));
|
||
System.out.println("price:" + (Double) map.get("price"));
|
||
}
|
||
}
|
||
restHighLevelClient.close();
|
||
}
|
||
}
|
||
|