Как поговорить с сервисом AWSasticsearch, используя Java-клиент эластичный?
Я настроил сервер Flexiblesearch, используяСервис поиска AWS (Не EC2). Это дало мне конечную точкуhttps://xxx-xxxxxxxx.us-west-2.es.amazonaws.com/ и если я нажму эту конечную точку (обратите внимание, что порт не указан), я могу получить ожидаемый
{
status: 200,
name: "Mastermind",
cluster_name: "xxxx",
version: {
number: "1.5.2",
build_hash: "yyyyyy",
build_timestamp: "2015-04-27T09:21:06Z",
build_snapshot: false,
lucene_version: "4.10.4"
},
tagline: "You Know, for Search"
}
Вопрос в том, как мне получить это через Java-клиент эластичный поиск без номера порта? Пример кода, который я получаю,
Client client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300));
Если я использую этот код и просто заменю «host1» на мою конечную точку, я получу «NoNodeAvailableException»
PS: Я использую версию Java-клиента 2.0.0.
редактировать Я наконец решил пойти сШутка, сторонний REST-клиент. Но то, что Брукс ответил ниже, также очень полезно - AWS использует порт 80 для http и 443 для https. Полагаю, блокировщиком для меня был брандмауэр
Edit2 Сервисная документация AWS ES прямо говорит:
Служба поддерживает HTTP на порту 80, но не поддерживает транспорт TCP.