当前位置:首页 > PHP

php实现es

2026-02-28 12:33:23PHP

PHP 实现 Elasticsearch 连接与操作

Elasticsearch 是一个分布式搜索和分析引擎,PHP 可以通过官方客户端库与其交互。以下是具体实现方法。

安装 Elasticsearch PHP 客户端

使用 Composer 安装官方客户端:

composer require elasticsearch/elasticsearch

建立连接

创建客户端实例并连接到 Elasticsearch 集群:

require 'vendor/autoload.php';

$client = Elasticsearch\ClientBuilder::create()
    ->setHosts(['localhost:9200'])
    ->build();

索引文档

将数据存入指定索引:

php实现es

$params = [
    'index' => 'my_index',
    'id'    => '1',
    'body'  => ['title' => 'Test document', 'content' => 'This is a test']
];

$response = $client->index($params);

搜索文档

执行简单查询:

$params = [
    'index' => 'my_index',
    'body'  => [
        'query' => [
            'match' => ['title' => 'test']
        ]
    ]
];

$response = $client->search($params);

更新文档

部分更新现有文档:

php实现es

$params = [
    'index' => 'my_index',
    'id'    => '1',
    'body'  => [
        'doc' => ['content' => 'Updated content']
    ]
];

$response = $client->update($params);

删除文档

移除指定文档:

$params = [
    'index' => 'my_index',
    'id'    => '1'
];

$response = $client->delete($params);

批量操作

高效执行多个操作:

$params = ['body' => []];

$params['body'][] = [
    'index' => [
        '_index' => 'my_index',
        '_id' => '2'
    ]
];

$params['body'][] = [
    'title' => 'Another document',
    'content' => 'Batch operation test'
];

$response = $client->bulk($params);

注意事项

  • 确保 Elasticsearch 服务已启动且 PHP 环境支持 HTTP 请求
  • 生产环境建议配置多个节点地址提高容错性
  • 复杂查询建议使用 Query DSL 构建详细的查询体
  • 大量数据操作时考虑使用批量接口减少网络开销

标签: phpes
分享给朋友:

相关文章

php实现搜索功能

php实现搜索功能

实现基本的搜索功能 在PHP中实现搜索功能通常涉及数据库查询。以下是一个简单的实现方式,假设使用MySQL数据库: <?php // 连接数据库 $conn = new mysqli('lo…

php实现注册登录

php实现注册登录

PHP 注册功能实现 创建数据库表(以 MySQL 为例) CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, usern…

php登陆功能实现

php登陆功能实现

实现PHP登录功能 数据库准备 创建一个用户表存储登录信息,基本字段包括用户名、密码(需加密)等: CREATE TABLE users ( id INT AUTO_INCREMENT P…

php实现注册登陆

php实现注册登陆

PHP 注册功能实现 创建数据库表结构(MySQL示例): CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, user…

php 实现排名

php 实现排名

PHP 实现排名的方法 在 PHP 中实现排名功能通常涉及对数据进行排序、计算排名以及输出结果。以下是几种常见的实现方式: 基本数组排序排名 $scores = [85, 92, 78, 95,…

php实现秒杀

php实现秒杀

PHP实现秒杀功能的关键技术 秒杀系统需要解决高并发、数据一致性、系统稳定性等问题。以下是PHP实现秒杀功能的核心技术方案: 数据库优化 使用InnoDB引擎的行级锁和事务特性,确保数据一致性。商…