Elasticsearch Java Client 版本區別及起步(5.X 和6.X)


目前ElasticSearch版本最常用的應該時5.X 和6.X,這兩個版本中都存在兩種客戶端:

簡單總結:

1,如果服務端是5.6以下的,選擇相同版本的TransportClient,避免一些API服務端不支持

2,如果服務端是5.6以上的,選擇相同版本的RestClient

TransportClient起步:

5.6及之前的版本:

// on startup

Client client = TransportClient.builder().build()
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));

// on shutdown

client.close();

6.0及之后的版本

// on startup

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
        .addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));

// on shutdown

client.close();

TransportClient發送搜索請求:

SearchResponse response = client.prepareSearch("index1", "index2")
        .setTypes("type1", "type2")
        .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
        .setQuery(QueryBuilders.termQuery("multi", "test"))                 // Query
        .setPostFilter(QueryBuilders.rangeQuery("age").from(12).to(18))     // Filter
        .setFrom(0).setSize(60).setExplain(true)
        .get();

 

HttpClient起步:

//  Java Low Level REST Client
RestClient lowLevelRestClient = RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http")).build();

// Java High Level REST Client
RestHighLevelClient client = new RestHighLevelClient(lowLevelRestClient);

HttpClient發送搜索請求:

SearchRequest searchRequest = new SearchRequest(); searchRequest.source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest);

參考:https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.2/index.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM