指定 elasticsearch username/password 和 Elasticsearch-PHP ClientBuilder

Specify elasticsearch username/password with Elasticsearch-PHP ClientBuilder

我已激活默认 "elastic" 用户并为该用户设置密码。我正在使用 elasticsearch-php 来连接和查询我的 elasticsearch。它运行良好,但激活密码后我无法使用我以前的代码连接。

在寻找使用 ClientBuilder 提供的身份验证信息时,我只得到有关 ssh 连接的配置。没有找到任何东西如何使用我的 elasticsearch 用户名和密码进行连接。

$hosts = ['127.0.0.1:9200'];
$es_user = 'elastic';
$es_pass = 'MY_PASS';
$elasticsearch = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();

我想知道如何在上面的连接中使用我的 username/password。

你可以像这样用 an extended host configuration 来做:

$hosts = [
    [
        'host' => '127.0.0.1',
        'port' => '9200',
        'user' => 'elastic',
        'pass' => 'MY_PASS'
    ]
];
$elasticsearch = Elasticsearch\ClientBuilder::create()
                    ->setHosts($hosts)
                    ->build();