登录/注册

Elasticsearch 协程客户端

hyperf/elasticsearch 主要为 elasticsearch-php 进行了客户端对象创建的工厂类封装,elasticsearch-php 默认使用 Guzzle Ring 客户端,在 hyperf/guzzle 中我们实现了协程版本的 Handler,所以可以直接使用 HyperfElasticsearchClientBuilderFactory 创建一个新的 Builder

安装

composer require hyperf/elasticsearch

使用

使用 ClientBuilderFactory 创建客户端

<?php

use HyperfElasticsearchClientBuilderFactory;

// 如果在协程环境下创建,则会自动使用协程版的 Handler,非协程环境下无改变
$builder = $this->container->get(ClientBuilderFactory::class)->create();

$client = $builder->setHosts(['http://127.0.0.1:9200'])->build();

$info = $client->info();

自行创建客户端

<?php

use ElasticsearchClientBuilder;
use HyperfGuzzleRingPHPPoolHandler;
use SwooleCoroutine;

$builder = ClientBuilder::create();
if (Coroutine::getCid() > 0) {
    $handler = make(PoolHandler::class, [
        'option' => [
            'max_connections' => 50,
        ],
    ]);
    $builder->setHandler($handler);
}

$client = $builder->setHosts(['http://127.0.0.1:9200'])->build();

$info = $client->info();
原文地址:https://blog.csdn.net/q7825103/article/details/105379906
文章来源与用户投稿或网络采集,如果您是本文的作者,发现版权或转载方式问题请右侧邮箱联系管理员。

抢沙发

共同学习,写下你的评论
姓名
电子邮件
个人主页