我试图使用Google Cloud Platform在Elastic Cloud上使用试用帐户设置“ Hello Word”。
我已经设置了云服务器,并且可以将它们直接与端点https://7fea4de80333428485717a0da463ce05.us-central1.gcp.cloud.es.io:9243/上的浏览器连接
当尝试使用ElasticSearch PHP API连接到它时,出现以下错误: 致命错误:未捕获的Elasticsearch \ Common \ Exceptions \ NoNodesAvailableException:在/home/mysite/public_html/mysite.com/vendor/elasticsearch/elasticsearch/src/Elasticsearch/ConnectionPool/StaticNoPingConnectionPool.php
中的群集中未找到活动节点我正在使用带有免费SSL证书的HostGator共享主机来运行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;
?>
我还尝试在localhost上安装ElasticSearch。如果我使用http而不是https,则在localhost上可以使用相同的代码,但就我所知,GCP上的Elastic Cloud不支持http。
有人对如何进行此简单工作有任何想法吗?我尝试了一些事情,例如使用ElasticSearch文档中指出的CaBundle,但没有成功。