hectorqin/elasticsearch-xpack

Elasticsearch-PHP 的 X-Pack 命名空间

dev-master 2019-11-09 03:43 UTC

This package is auto-updated.

Last update: 2024-09-09 14:15:32 UTC


README

此仓库包含官方 Elasticsearch-PHP 的 X-Pack 命名空间模块。这是一个可选模块,如果使用 X-Pack(监控、监控、图、许可证、安全),它将向客户端添加新的 API。

版本矩阵

安装

此模块是一组额外的 API 端点,可以通过 Elasticsearch-PHP 客户端访问。它不是一个独立的客户端,所以请确保在您的 composer.json 中有 elasticsearch/elasticsearch 客户端。然后简单地添加 xpack 模块

{
    "require": {
        "elasticsearch/elasticsearch": "~5.0",
        "elasticsearch/xpack" : "~5.0"
    }
}

然后更新您的安装

php composer.phar update

使用 XPack

现在 XPack 命名空间已安装,我们可以注入您感兴趣使用的单个 XPack 插件。例如,我们可以注入仅监视命名空间

use Elasticsearch\ClientBuilder;
use XPack\XPack;

$client = ClientBuilder::create()
            ->registerNamespace(XPack::Watcher()) // Inject the Watcher namespace
            ->build();

如果想要使用多个 XPack 插件,可以使用多个 registerNamespace() 调用链式操作

use Elasticsearch\ClientBuilder;
use XPack\XPack;

$client = ClientBuilder::create()
            ->registerNamespace(XPack::Watcher())    // Inject the Watcher namespace
            ->registerNamespace(XPack::Security())   // Inject the Security namespace
            ->registerNamespace(XPack::Monitoring()) // Inject the Monitoring namespace
            ->build();

客户端初始化后,可以通过其名称调用已注册的命名空间。例如,这里我们使用 watcher() 命名空间(就像 ES-PHP 客户端附带的任何其他命名空间一样)

// Get watcher information
$watcherInfo = $client->watcher()->info();

// Get watcher stats
$watcherStats = $client->watcher()->stats();

// Add a new watch
$body = '{
 "trigger": {
   "schedule": {
     "hourly": {
       "minute": [ 0, 5 ]
       }
     }
 },
 "input": {
   "simple": {
     "payload": {
       "send": "yes"
     }
   }
 },
 "condition": {
   "always": {}
 },
 "actions": {
   "test_index": {
     "index": {
       "index": "test",
       "doc_type": "test2"
     }
   }
 }
}'
$params = [
    'id' => 'my_watch_id',
    'body' => $body
];
$response = $client->watcher()->putWatch($params);

可用命名空间

此模块包含以下命名空间

  • 许可证
  • 监控
  • 安全
  • 监视

可用许可证

Elasticsearch-X-Pack-PHP 可在 Apache v2.0 和 LGPL v2.1 许可下使用。

用户可以选择他们希望使用的许可证。由于没有区分许可的歧视性可执行文件或发行套件,用户应在外部记录他们的许可证选择,以防库被重新分发。如果没有明确选择,则假设重新分发遵守两个许可证的规则。

贡献

所有对库的贡献都应允许在两个许可证下使用。

Apache v2.0 许可证

版权 2013-2016 Elasticsearch

根据 Apache License,版本 2.0(“许可证”)许可;除非根据适用法律或书面同意,否则不得使用此文件,除非遵守许可证。您可以在以下位置获得许可证的副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言管理权限和限制,请参阅许可证。

LGPL v2.1 声明

版权 (C) 2013-2016 Elasticsearch

此库是自由软件;您可以在 GNU Lesser General Public License 的条款下重新分发和/或修改它,该许可证由自由软件基金会发布;许可证版本 2.1,或(根据您的选择)任何较新版本。

此库是在希望它将是有用的希望下分发的,但没有任何保证;甚至没有关于其适销性或特定用途的隐含保证。有关 GNU Lesser General Public License 的更多详细信息,请参阅该许可证。

您应已收到 GNU Lesser General Public License 的副本;如果没有,请写信给自由软件基金会,Inc.,51 Franklin Street,第五层,波士顿,MA 02110-1301 USA