使用 Elasticsearch-PHP ClientBuilder 指定 elasticsearch 用户名/密码

Mai*_*din 4 elasticsearch elasticsearch-php

我已经激活了默认的“弹性”用户并为该用户设置了密码。我正在使用 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();
Run Code Online (Sandbox Code Playgroud)

我想知道如何在上面的连接中使用我的用户名/密码。

Val*_*Val 6

您可以使用这样的扩展主机配置来做到这一点:

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