Hyperf 安装 Elasticsearch 协程客户端
hyperf/elasticsearch 主要为 elasticsearch-php 进行了客户端对象创建的工厂类封装,elasticsearch-php 默认使用 Guzzle Ring 客户端,在 hyperf/guzzle 中我们实现了协程版本的 Handler,所以可以直接使用 Hyperf\Elasticsearch\ClientBuilderFactory 创建一个新的 Builder。
- 安装
composer require hyperf/elasticsearch
- 创建客户端
class ElasticsearchService
{
protected $container;
protected Client $es_client;
public function _initialize(): void
{
$this->container = ApplicationContext::getContainer();
$client_builder = $this->container->get(ClientBuilderFactory::class);
$builder = $client_builder->create();
$host = [
'https://账号:密码@地址:9200'
];
$this->es_client = $builder->setHosts($host)->build();
}
}
这里的账号密码指的是创建 elasticsearch 的时候的账号密码。如果是用阿里云或者腾讯云服务,创建好了之后一样会有
这里只是创建了协程客户端,里面的实际方法是要自己重新定义的
开发基本步骤
1 安装 es 服务,也可以是腾讯云或者阿里云,腾讯云阿里云也只是提供 es 服务而已,并不是能直接看到数据。数据还是要在 kibana 里面查看。
2 创建协程客户端
3 创建 index。index 相当于 mysql 里面的库
4 创建 mapping mapping 可以理解成表。要存储数据要先定义好表。
5 index 方法推送单条数据。bulk 批量推送数据
6 search 搜索数据。
备注:
以下全网最全了