命名空间

编辑

客户端有许多“命名空间”,通常用于公开管理功能。这些命名空间对应于 Elasticsearch 中的各种管理端点。以下是命名空间的完整列表:

命名空间 功能

asyncSearch()

提供异步搜索

autoscaling()

自动伸缩功能

cat()

简洁且对齐的文本 (CAT),主要用于终端

ccr()

跨集群复制操作

cluster()

以集群为中心的统计信息和信息

danglingIndices()

悬挂索引管理

enrich()

丰富策略管理

eql()

事件查询语言

features()

管理 Elasticsearch 和插件提供的功能

fleet()

Fleet 对 Elasticsearch 的使用 (实验性)

graph()

用于文档和术语的图形浏览

ilm()

索引生命周期管理 (ILM)

indices()

以索引为中心的统计信息和信息

ingest()

摄取管道和处理器

license()

许可证管理

logStash()

管理 Logstash 中央管理使用的管道

migration()

设计为由 Kibana 的升级助手间接使用

ml()

机器学习功能

monitoring()

监控功能

monitoring()

监控功能

nodes()

以节点为中心的统计信息和信息

rollup()

汇总功能

searchableSnapshots()

可搜索快照操作

security()

安全功能

shutdown()

准备节点进行临时或永久关闭

slm()

快照生命周期管理 (SLM)

snapshot()

快照/还原集群和索引的方法

sql()

在 Elasticsearch 索引和数据流上运行 SQL 查询

ssl()

SSL 证书管理

tasks()

任务管理

textStructure()

查找文本的结构

transform()

转换功能

watcher()

Watcher 根据条件创建操作

xpack()

检索有关已安装的 X-Pack 功能的信息

一些方法在几个不同的命名空间中可用,它们为您提供相同的信息,但分组到不同的上下文中。要了解这些命名空间如何工作,让我们看看 _stats 的输出

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

// Index Stats
// Corresponds to curl -XGET localhost:9200/_stats
$response = $client->indices()->stats();

// Node Stats
// Corresponds to curl -XGET localhost:9200/_nodes/stats
$response = $client->nodes()->stats();

// Cluster Stats
// Corresponds to curl -XGET localhost:9200/_cluster/stats
$response = $client->cluster()->stats();


如您所见,相同的 stats() 调用是通过三个不同的命名空间进行的。有时这些方法需要参数。这些参数的工作方式与库中的任何其他方法一样。

例如,我们可以请求有关特定索引或多个索引的索引统计信息

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

// Corresponds to curl -XGET localhost:9200/my_index/_stats
$params['index'] = 'my_index';
$response = $client->indices()->stats($params);

// Corresponds to curl -XGET localhost:9200/my_index1,my_index2/_stats
$params['index'] = ['my_index1', 'my_index2'];
$response = $client->indices()->stats($params);


以下示例显示如何向现有索引添加别名

$params['body'] = [
    'actions' => [
        [
            'add' => [
                'index' => 'myindex',
                'alias' => 'myalias'
            ]
        ]
    ]
];
$client->indices()->updateAliases($params);

请注意,stats 调用和 updateAliases 都采用了各种参数,每个参数都根据特定的 API 要求。 stats API 仅需要一个或多个索引名称,而 updateAliases 需要一个操作主体。