2016-09-12 4 views
0

JestとElasticsearchで初めて作業しています。私は、インデックス作成しようとしていますJest:ProtocolException:ターゲットホストが指定されていません

public static JestClient getJestClient(ContainerRequestContext crc) { 

      JSONObjeect elasticsearchServers = new JSONObject(); 
      elasticsearchServers.putAll((Map) crc.getProperty("serverProperties")); 
      List<String> connectionUrls = new ArrayList<String>(); 

      Set serverSet = elasticsearchServers.entrySet(); 
      Iterator serverIterator = serverSet.iterator(); 
      while (serverIterator.hasNext()) { 
       Map.Entry pair = (Map.Entry) serverIterator.next(); 
       connectionUrls.add(String.valueOf(pair.getValue())); 
      } 
      return buildJestClient(connectionUrls); 
     } 


    public static JestClient buildJestClient(List<String> connectionUrls) { 
     final Builder builder = new Builder(connectionUrls) 
       .multiThreaded(true); 

     builder.gson(JestRichResult.createGsonWithDateFormat()); 
     HttpClientConfig clientConfig = builder.build(); 

     // Construct a new Jest client according to configuration via factory 
     JestClientFactory factory = new JestClientFactory(); 
     factory.setHttpClientConfig(clientConfig); 
     return factory.getObject(); 
    } 

CreateIndex createIndex = new CreateIndex.Builder("inde").build(); 
jestClient.execute(createIndex); 

が、私は次のエラーが直面しています:私は、次のコードを使用してい

マイElasticsearchサービスがすべてで実行されている

org.apache.http.ProtocolException: Target host is not specified 
サーバー。

これは、IPSの私のconnectionUrlsリストである:私はここで間違っている[1.2.3.4、5.6.7.8、10.11.12.13]

何をしているのですか?私が間違って何をやっていた

答えて

0

た、私はサーバのIPアドレスのみを提供していたが、それはのような完全なアドレスでなければなりません:

ます。http:// 1.2.3.4:9200

ので、私が変更connectionUrlを追加する行 connectionUrls.add("http://"+String.valueOf(pair.getValue())+":9200");

関連する問題