二、ElasticSearch - PHP 操作 ES 客户端配置
hi,我是温新,一名 PHPer
ES 版本:ElasticSearch 8.6.0
系统版本:Rocky Linux 9.1
学习目标:学会 PHP 操作 ES 的客户端配置
本篇文章结合官方文档编写及参考网络资料编写,虽非全部原创,但也是结合了自己的理解,若转载请附带本文 URL,编写不易,持续编写更不易,谢谢!
PHP 连接 ES 客户端主要是通过 ClientBuilder
工具类完成,其连接客户端的常用配置如下:
- Elasticsearch 连接地址
- Elasticsearch 认证账号和密码
- 请求重试次数
配置格式 1
// 配置多个 ES 服务地址,支持多种类型的地址
$hosts = [
'192.168.1.1:9200', // IP + Port
'192.168.1.2', // 仅 IP
'mydomain.server.com:9201', // 域名 + Port
'mydomain2.server.com', // 仅 域名
'https://localhost', // https协议格式
'https://192.168.1.3:9200', // https协议格式
// 支持设置 ES 连接的账号和密码
'https://username:password@test.com:9200/elastic'
];
$client = ClientBuilder::create() // 创建 ClientBuilder
->setHosts($hosts) // 设置 hosts
->build(); // 构建client对象
配置格式 2
// 每一个 ES 服务地址,是一个数组,支持配置详细的连接信息
hosts = [
// 等价连接地址: "https://username:password!#$?*abc@test.com:9200/elastic"
[
'host' => 'foo.com', // 域名
'port' => '9200', // 端口
'scheme' => 'https', // 协议
'path' => '/elastic', // path
'user' => 'username', // 账号
'pass' => 'password!#$?*abc' // 密码
],
// 等价连接地址 "http://localhost:9200/"
[
'host' => 'localhost', // 仅配置域名
]
];
$client = ClientBuilder::create() // 创建 ClientBuilder对象
->setHosts($hosts) // 设置 hosts
->build(); // 构建client对象
请求重试次数
$client = ClientBuilder::create()
->setRetries(2) // 设置连接请求次数为2
->build();
请登录后再评论