命名空间

编辑

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

命名空间 功能

asyncSearch()

提供异步搜索

autoscaling()

自动扩展功能

cat()

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

ccr()

跨集群复制操作

cluster()

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

danglingIndices()

悬空索引管理

enrich()

丰富策略管理

eql()

事件查询语言

features()

管理 Elasticsearch 和插件提供的功能

fleet()

Fleet 使用 Elasticsearch(实验性)

graph()

文档和术语的图形探索

ilm()

索引生命周期管理 (ILM)

indices()

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

ingest()

摄取管道和处理器

license()

许可证管理

logStash()

管理 Logstash Central Management 使用的管道

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