Это первый раз, когда я работаю с 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);
, но я столкнулся следующее сообщение об ошибке:
org.apache.http.ProtocolException: Target host is not specified
сервис
Мой Elasticsearch работает на всех серверов.
Это мой connectionUrls
список изобр: [1.2.3.4, 5.6.7.8, 10.11.12.13]
Что я делаю неправильно здесь?