溫馨提示×

java怎么查詢es數據

小億
252
2023-09-14 15:34:37
欄目: 編程語言

要查詢Elasticsearch(ES)數據,您可以使用Java的Elasticsearch REST客戶端或Java的Elasticsearch高級客戶端。

使用Elasticsearch REST客戶端:

  1. 添加Elasticsearch REST客戶端的依賴。例如,使用Maven添加以下依賴:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.12.1</version>
</dependency>
  1. 創建Elasticsearch REST客戶端實例:
RestClient restClient = RestClient.builder(
new HttpHost("localhost", 9200, "http")).build();
  1. 創建一個搜索請求并執行查詢:
Request request = new Request("GET", "/your-index/_search");
request.setJsonEntity("{\"query\": {\"match_all\": {}}}");
Response response = restClient.performRequest(request);
  1. 處理查詢結果:
String responseBody = EntityUtils.toString(response.getEntity());
System.out.println(responseBody);

使用Elasticsearch高級客戶端:

  1. 添加Elasticsearch高級客戶端的依賴。例如,使用Maven添加以下依賴:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.12.1</version>
</dependency>
  1. 創建Elasticsearch高級客戶端實例:
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
  1. 創建一個搜索請求并執行查詢:
SearchRequest searchRequest = new SearchRequest("your-index");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchAllQuery());
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
  1. 處理查詢結果:
SearchHit[] hits = searchResponse.getHits().getHits();
for (SearchHit hit : hits) {
String sourceAsString = hit.getSourceAsString();
System.out.println(sourceAsString);
}

這是查詢ES數據的基本示例。您可以根據自己的需求進行進一步的查詢和結果處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女