
简单总结:
- 如果服务端是5.6以下的,选择相同版本的TransportClient,避免一些API服务端不支持
- 如果服务端是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);
Elasticsearch客户端选择与使用
本文详细介绍了在不同版本的Elasticsearch服务端中如何选择合适的客户端,包括TransportClient和RestClient,并提供了5.6及之前版本和6.0及之后版本的客户端配置与搜索请求示例。
3336

被折叠的 条评论
为什么被折叠?



