2024-12-31
学习
00
请注意,本文编写于 163 天前,最后修改于 163 天前,其中某些信息可能已经过时。

目录

一、_cat 系列命令
1. 查看分片分配情况
2. 查看所有索引状态
3. 查看节点状态
4. 查看分片状态
5. 查看健康状态
6. 查看任务队列
7. 查看运行中的任务
二、索引操作命令
1. 创建索引
2. 删除索引
3. 查看索引详情
4. 刷新索引
5. 优化索引(强制合并)
三、数据操作命令
1. 添加数据
2. 查询数据
3. 更新数据
4. 删除数据
四、诊断与调试命令
1. 查看集群状态
2. 查看节点统计信息
3. 查看慢查询日志
4. 重启节点

以下是 Elasticsearch 常用命令的详细整理


一、_cat 系列命令

_cat 系列命令以表格的形式返回集群状态和元数据信息,易于阅读。

1. 查看分片分配情况

bash
GET _cat/allocation?v

说明:显示分片分配状态,包括节点分配、磁盘使用情况等。

参数说明
v显示表头

2. 查看所有索引状态

bash
GET _cat/indices?v

说明:显示索引名称、健康状态、文档数量、存储大小等信息。

参数说明
h指定显示字段,例如 index,docs.count,store.size
s排序字段,例如 store.size:desc

示例:

bash
GET _cat/indices?h=index,docs.count,store.size&s=store.size:desc

3. 查看节点状态

bash
GET _cat/nodes?v

说明:显示节点的基本信息,如名称、角色、CPU使用率、内存等。

参数说明
h指定字段,如 name,ip,heap.percent
r按节点角色显示

示例:

bash
GET _cat/nodes?h=name,ip,heap.percent,cpu

4. 查看分片状态

bash
GET _cat/shards?v

说明:显示所有分片的状态,包括分片编号、状态、主分片/副本分片等。


5. 查看健康状态

bash
GET _cat/health?v

说明:返回集群整体的健康状态,包括时间、状态(green/yellow/red)等。


6. 查看任务队列

bash
GET _cat/pending_tasks?v

说明:查看当前的待处理任务,常用于诊断性能问题。


7. 查看运行中的任务

bash
GET _cat/tasks?v

说明:查看正在运行的任务,包括索引、删除、迁移任务等。


二、索引操作命令

1. 创建索引

bash
PUT /<index_name>

说明:创建指定名称的索引。

示例:

bash
PUT /my_index

2. 删除索引

bash
DELETE /<index_name>

说明:删除指定名称的索引。

示例:

bash
DELETE /my_index

3. 查看索引详情

bash
GET /<index_name>/_settings GET /<index_name>/_mapping

说明

  • _settings:查看索引的配置信息。
  • _mapping:查看索引的映射结构。

4. 刷新索引

bash
POST /<index_name>/_refresh

说明:手动刷新索引,使新增或更新的数据可见。


5. 优化索引(强制合并)

bash
POST /<index_name>/_forcemerge?max_num_segments=1

说明:合并索引段以提高查询性能。max_num_segments=1 表示合并到一个段。


三、数据操作命令

1. 添加数据

bash
POST /<index_name>/_doc

说明:向索引中添加新文档。

示例:

bash
POST /my_index/_doc { "name": "Elasticsearch", "type": "Search Engine" }

2. 查询数据

bash
GET /<index_name>/_search

说明:执行全文搜索。

示例:

bash
GET /my_index/_search { "query": { "match": { "name": "Elasticsearch" } } }

3. 更新数据

bash
POST /<index_name>/_update/<document_id>

说明:更新指定 ID 的文档。

示例:

bash
POST /my_index/_update/1 { "doc": { "type": "Advanced Search Engine" } }

4. 删除数据

bash
DELETE /<index_name>/_doc/<document_id>

说明:删除指定 ID 的文档。


四、诊断与调试命令

1. 查看集群状态

bash
GET /_cluster/health

说明:查看集群的健康状态,包括状态、节点数量、分片信息等。


2. 查看节点统计信息

bash
GET /_nodes/stats

说明:显示节点的统计信息,如 CPU、内存、磁盘使用率等。


3. 查看慢查询日志

bash
GET /_cluster/settings

说明:检查慢查询日志配置。可通过以下命令设置慢查询阈值:

bash
PUT /_settings { "index.search.slowlog.threshold.query.warn": "1s" }

4. 重启节点

bash
POST /_cluster/nodes/_restart

说明:重启集群中的所有节点。

本文作者:han

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!