安装

Elasticsearch-php 只有四个要求您需要担心的:

  • PHP 7.0.0 或者更高的版本
  • Composer
  • ext-curl: PHP 的 Libcurl 扩展(参见下面的注释)
  • Native JSON 扩展 (ext-json) 1.3.7 或者更高的版本

其余的依赖项将由 Composer 自动下载安装。 Composer 是 PHP 的包和依赖项管理器。通过 Composer 安装 elasticsearch-php 非常简单

注意:Libcurl 是可以被替换的。Elasticsearch-php 附带的默认 HTTP 处理程序需要 PHP libcurl 扩展 ,但是从技术层面来说,客户端无需操作。如果您的主机没有安装 libcurl 扩展,则可以使用基于 PHP 流的备用 HTTP 处理程序。性能 将会受到影响,因为 libcurl 扩展速度要快得多。

版本矩阵

你需要将你的 Elasticsearch 版本与此库的相应版本相匹配。

master 分支将始终跟踪 Elasticsearch 的 master,但不建议在生产代码中使用 dev-master

Elasticsearch 版本 Elasticsearch-PHP 分支
>= 6.0 6.0
>= 5.0, ⇐ 6.0 5.0
>= 1.0, ⇐ 5.0 1.0, 2.0
⇐ 0.90.* 0.4

Composer 安装

  • 请在你的 composer.json 文件中添加 elasticsearch-php。 如果你要开始一个新项目,只需将以下 JSON 代码段粘贴到名为 composer.json 的新文件中即可。 如果你有现有项目,请在已存在的其他要求下包含此要求:
  1. {
  2. "require": {
  3. "elasticsearch/elasticsearch": "~6.0"
  4. }
  5. }
  • 使用 composer 安装客户端。第一个命令是下载 composer.phar PHP归档文件,第二条命令是执行安装客户端。Composer 会自动下载任何所需的依赖,并将它们保存在 /vendor/ 目录中,并会生成一个自动加载器:
  1. curl -s http://getcomposer.org/installer | php
  2. php composer.phar install --no-dev

详情请看 Composer 官方文档

  • 接下来,将生成的自动加载器放在你的项目中。如果你的项目是基于 Composer,自动加载器可能已经存在,你不需要添加。最后,实例化一个新的客户端:
  1. require 'vendor/autoload.php';
  2. $client = Elasticsearch\ClientBuilder::create()->build();

使用静态辅助方法 create() 可以实例化客户端。这会创建一个 ClientBuilder 对象,该对象可帮助你设置自定义配置。当你已经配置过相应配置,你可以调用 build() 方法生成一个 Client 对象。我们将会在配置章节讨论更多的配置项。

–no-dev 选项

你将会注意到安装命令的 --no-dev 选项。它会阻止 Composer 安装各种测试和开发 Elasticsearch 时所需的依赖。对大多数用户来说,是不需要安装这些依赖的。尤其是,开发依赖包括对 REST 规范测试的 Elasticsearch 的完整副本。这对于非 Elasticsearch 开发者来说,会下载一个很大的文件,因此需要添加 --no-dev 选项。

如果你想为 Elasticsearch 开发做贡献,只需要忽略 --no-dev 选项就可以运行测试。