這個(gè)業(yè)務(wù)初始化,幫我看看,我這樣初始化 Elasticsearch 對(duì)不對(duì)
MemReport.php
use app\service\Elasticsearch;
use Elastic\Elasticsearch\Client;
use Elastic\Elasticsearch\ClientBuilder;
use Webman\Bootstrap;
class MemReport implements Bootstrap
{
static $client;
public static function start($worker)
{
// Is it console environment ?
$is_console = !$worker;
if ($is_console) {
// If you do not want to execute this in console, just return.
return;
}
Elasticsearch::init();
}
}
Elasticsearch.php
namespace app\service;
use Elastic\Elasticsearch\ClientBuilder;
class Elasticsearch
{
static $client;
static function init()
{
$hosts = [
'host' => 'http://host.docker.internal:9200', // 只有 host 是必須的
];
self::$client =ClientBuilder::create()->setHosts($hosts)->setRetries(2)->build();
}
public static function client(): \Elastic\Elasticsearch\Client
{
return self::$client;
}
}
然后我直接調(diào)用 Elasticsearch::client()
來(lái)進(jìn)行操作,這樣可以嗎