hectorqin / elasticsearch-xpack
Elasticsearch-PHP 的 X-Pack 命名空间
Requires
- php: >=5.4
- elasticsearch/elasticsearch: ^5.0
Requires (Dev)
- cpliakas/git-wrapper: ~1.0
- phpunit/phpunit: 3.7.*
- symfony/yaml: 2.4.3 as 2.4.2
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