命名空间编辑

客户端包含多个“命名空间”,通常用于公开管理功能。命名空间对应于 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()

根据条件创建监视器操作

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 需要操作主体。