現在ElasticSearchのバージョンが5.xと6.X必要があるときに、最も一般的に使用され、両方のバージョンのクライアントの2種類があります。
要約:
サーバー未満5.6であれば1、、のtransportClientの同じバージョンを選択し、APIサーバーの一部がサポートされていない避けます
サーバーが5.6以上であれば2、RestClientの同じバージョンを選択
起動のtransportClient:
5.6およびそれ以前のバージョン:
// 起動時に クライアントクライアント = TransportClient.builder()。()構築 .addTransportAddress(新しい InetSocketTransportAddress(InetAddress.getByName( "HOST1")、9300 )) .addTransportAddress(新しい InetSocketTransportAddress(InetAddress.getByName( "HOST2")、9300を)); // シャットダウンの client.close();
6.0およびそれ以降のバージョン
// 起動時 のtransportClientクライアントは = 新しいPreBuiltTransportClient(Settings.EMPTY) .addTransportAddress(新しい TransportAddress(InetAddress.getByName( "HOST1")、9300 )) .addTransportAddress(新しい TransportAddress(InetAddress.getByName( "HOST2")、9300 )) ; // シャットダウンの client.close();
検索リクエストを送信するのtransportClient:
SearchResponse応答= client.prepareSearch( "インデックス1"、 "INDEX2" ) .setTypes( "TYPE1"、 "TYPE2" ) .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .setQuery(QueryBuilders.termQuery( "マルチ"、 "試験")) / / クエリ .setPostFilter(QueryBuilders.rangeQuery( "年齢")から(12).TO(18)。) // フィルタ .setFromを(0).setSize(60).setExplain(真) に.get();