簡體   English   中英

用於 ElasticSearch 的 Java HTTP 客戶端

[英]Java HTTP Client for ElasticSearch

我正在嘗試從 Java 連接到 ElasticSearch,但我只能通過 HTTP 連接。 我不能使用TransportClient ElasticSearch REST API 是否有 Java 客戶端包裝器? 如果是這樣,我該如何使用它?

嗨,有一個全新的項目正好符合您的需求。 用於 Elasticsearch 的基於 Java 的 Rest API

一探究竟! 它的名字JEST

從 v5.0.0-alpha4 開始,將提供一個新的“官方”基於 REST 的 Java 客戶端。

我們剛剛開源了Flummi ,這是一個用於 Elastic Search 的 Java HTTP/REST 客戶端。 它盡可能地模仿傳輸客戶端的 API,使得移植現有代碼變得容易。 它還提供了比 Jest 更好的抽象級別,因為它報告所有帶有異常的錯誤。 試試看!

簡單使用示例:

Flummi flummi = new Flummi("http://elasticsearch.base.url:9200");

SearchResponse searchResponse = flummi
   .prepareSearch("products")
   .setQuery(
      QueryBuilders.termQuery("color", "yellow").build()
    )
   .execute();

System.out.println("Found " 
   + searchResponse.getHits().getTotalHits()
   + " products");
searchResponse.getHits()
  .stream().map(hit -> hit.getSource().get("name").getAsString())
  .forEach(name -> System.out.println("Name: " + name));

Elasticsearch Java SDK 的5.6 版開始,它們提供了Java REST Client

 RestClient restClient = RestClient.builder(
    new HttpHost("localhost", 9200, "http"),
    new HttpHost("localhost", 9201, "http")).build();

 // for the RestHighLevelClient
 RestHighLevelClient client =
    new RestHighLevelClient(restClient);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM