WP笔记

使用Elasticsearch-PHP客户端

之前的文章介绍了如何在Windows本地安装和使用Elasticsearch,在次基础上,继续介绍如何使用Elasticsearch-PHP客户端来进行基本操作,根据这篇文档

安装客户端的最低要求

Elasticsearch-php 的安装需要满足以下 4 个需求:

  • PHP 7.0.0 或更高版本
  • Composer
  • ext-curl:PHP 的 Libcurl 扩展(详情查看下方注意事项)
  • 原生 JSON 扩展 (ext-json) 1.3.7或更高版本

安装过程

本文演示的环境在windows下使用neard创建的本地php测试环境,你只需要确保有一个能运行php的环境即可。

首先,根据官方教程,创建一个文件夹,并在文件夹下新建一个文件叫做composer.json,文件里写如下内容。

{
    "require": {
        "elasticsearch/elasticsearch": "~6.0"
    }
}

如果所示,创建了一个名为elasticsearch-php-client的目录来安装客户端。

创建elasticsearch客户端文件夹

用composer命令行来安装,保证你的电脑安装了composer再进行这一步,windows上打开elasticsearch-php-client文件夹,在地址栏直接输入cmd命令,就能打开一个指向当前目录的命令行窗口,下面两张图演示了这个过程。

在当前目录打开命令行
命令行直接指向打开它的目录

接下来,根据文档,运行命令来装,第一条:

curl -s http://getcomposer.org/installer | php

运行后目录里多了一个文件,如下图所示:

composer.pharf

再运行下一条命令,就安装好了,多了一个vendor目录,里面有我们需要的所有东西。

php composer.phar install --no-dev
安装完成

接下来,在此目录下创建一个php文件,并输入官方给的演示代码,运行一下,在运行前要启动elasticsearch服务。代码如下所示。创建了一个名为‘my_index_1’的索引,并加了一条数据。

require 'vendor/autoload.php';

use Elasticsearch\ClientBuilder;

$client = ClientBuilder::create()->build();

$params = [
    'index' => 'my_index_1',
    'type' => 'my_type',
    'id' => 'my_id',
    'body' => ['testField' => 'abc']
];

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

echo '<pre>'; print_r($response); echo '</pre>';

访问该文件,运行结果如下:

创建elasticsearch索引,并加入数据的结果

有了客户端的实例,我们就能运行文档里所有的代码了。本文的目的就是详细介绍安装的过程,看见代码真正跑起来,就更容易深入研究了。