Я пытаюсь в течение нескольких дней настроить «Hello Word» с моей пробной учетной записью в Elastic Cloud с помощью Google Cloud Platform.
Я настроил облачные серверы и могу подключить их напрямуюс браузером на конечной точке: https://7fea4de80333428485717a0da463ce05.us -central1.gcp.cloud.es.io: 9243 /
При попытке подключиться к нему с помощью API ElasticSearch PHP я получаю следующую ошибку: Неустранимая ошибка: Uncaught Elasticsearch \ Common \ Exceptions \ NoNodesAvailableException: в вашем кластере не найдено живых узлов
Я использую общий хостинг HostGator с бесплатным SSL-сертификатом для запуска сценария php.
Вот код:
<?php
require 'vendor/autoload.php';
use Elasticsearch\ClientBuilder;
$hosts = ["https://elastic:mypassword@7fea4de80333428485717a0da463ce05.us-central1.gcp.cloud.es.io:9243/"];
$client = ClientBuilder::create()
->setHosts($hosts)
->build();
$params = [
'index' => 'my_index',
'type' => 'my_type',
'id' => 'my_id',
'body' => ['testField' => 'abc']
];
$response = $client->index($params);
echo $response;
?>
Я также пытался установить ElasticSearch на localhost.Тот же код работает на localhost, если я использую http вместо https, но Elastic Cloud на GCP не поддерживает http (насколько мне известно).
У кого-нибудь есть ЛЮБЫЕ идеи о том, как заставить эту простую работу работать?Я попробовал несколько вещей, таких как использование CaBundle, как указано в документах ElasticSearch, но безуспешно.