Dies ist das erste Mal, dass ich mit Jest for Elasticsearch arbeite. Ich verwende den folgenden Code ein:Jest: ProtocolException: Zielhost wurde nicht angegeben
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();
}
Ich versuche Index zu erstellen:
CreateIndex createIndex = new CreateIndex.Builder("inde").build();
jestClient.execute(createIndex);
aber ich bin vor den folgenden Fehler:
org.apache.http.ProtocolException: Target host is not specified
Mein Elasticsearch Dienst auf allen läuft die Server.
Dies ist meine connectionUrls
Liste der ips: [1.2.3.4, 5.6.7.8, 10.11.12.13]
Was ich hier falsch mache?