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();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|