- 前言
- 版本管理
- 快速入门
- 核心架构
- 基础功能
- 数据库模型
- 微服务
- 网络服务
- 消息队列
- 客户端
- 其它组件
- 应用部署
- Awesome Hyperf
- 组件开发指南
- 版本升级指南
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Elasticsearch 协程客户端
hyperf/elasticsearch 主要为 elasticsearch-php 进行了客户端对象创建的工厂类封装,elasticsearch-php 默认使用 Guzzle Ring
客户端,在 hyperf/guzzle 中我们实现了协程版本的 Handler
,所以可以直接使用 Hyperf\Elasticsearch\ClientBuilderFactory
创建一个新的 Builder
。
安装
composer require hyperf/elasticsearch
使用
使用 ClientBuilderFactory
创建客户端
<?php
use Hyperf\Elasticsearch\ClientBuilderFactory;
// 如果在协程环境下创建,则会自动使用协程版的 Handler,非协程环境下无改变
$builder = $this->container->get(ClientBuilderFactory::class)->create();
$client = $builder->setHosts(['http://127.0.0.1:9200'])->build();
$info = $client->info();
自行创建客户端
<?php
use Elasticsearch\ClientBuilder;
use Hyperf\Guzzle\RingPHP\PoolHandler;
use Swoole\Coroutine;
$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();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论