以下是 Elasticsearch 常用命令的详细整理
_cat
系列命令以表格的形式返回集群状态和元数据信息,易于阅读。
bashGET _cat/allocation?v
说明:显示分片分配状态,包括节点分配、磁盘使用情况等。
参数 | 说明 |
---|---|
v | 显示表头 |
bashGET _cat/indices?v
说明:显示索引名称、健康状态、文档数量、存储大小等信息。
参数 | 说明 |
---|---|
h | 指定显示字段,例如 index,docs.count,store.size |
s | 排序字段,例如 store.size:desc |
示例:
bashGET _cat/indices?h=index,docs.count,store.size&s=store.size:desc
bashGET _cat/nodes?v
说明:显示节点的基本信息,如名称、角色、CPU使用率、内存等。
参数 | 说明 |
---|---|
h | 指定字段,如 name,ip,heap.percent |
r | 按节点角色显示 |
示例:
bashGET _cat/nodes?h=name,ip,heap.percent,cpu
bashGET _cat/shards?v
说明:显示所有分片的状态,包括分片编号、状态、主分片/副本分片等。
bashGET _cat/health?v
说明:返回集群整体的健康状态,包括时间、状态(green/yellow/red)等。
bashGET _cat/pending_tasks?v
说明:查看当前的待处理任务,常用于诊断性能问题。
bashGET _cat/tasks?v
说明:查看正在运行的任务,包括索引、删除、迁移任务等。
bashPUT /<index_name>
说明:创建指定名称的索引。
示例:
bashPUT /my_index
bashDELETE /<index_name>
说明:删除指定名称的索引。
示例:
bashDELETE /my_index
bashGET /<index_name>/_settings GET /<index_name>/_mapping
说明:
_settings
:查看索引的配置信息。_mapping
:查看索引的映射结构。bashPOST /<index_name>/_refresh
说明:手动刷新索引,使新增或更新的数据可见。
bashPOST /<index_name>/_forcemerge?max_num_segments=1
说明:合并索引段以提高查询性能。max_num_segments=1
表示合并到一个段。
bashPOST /<index_name>/_doc
说明:向索引中添加新文档。
示例:
bashPOST /my_index/_doc
{
"name": "Elasticsearch",
"type": "Search Engine"
}
bashGET /<index_name>/_search
说明:执行全文搜索。
示例:
bashGET /my_index/_search
{
"query": {
"match": {
"name": "Elasticsearch"
}
}
}
bashPOST /<index_name>/_update/<document_id>
说明:更新指定 ID 的文档。
示例:
bashPOST /my_index/_update/1
{
"doc": {
"type": "Advanced Search Engine"
}
}
bashDELETE /<index_name>/_doc/<document_id>
说明:删除指定 ID 的文档。
bashGET /_cluster/health
说明:查看集群的健康状态,包括状态、节点数量、分片信息等。
bashGET /_nodes/stats
说明:显示节点的统计信息,如 CPU、内存、磁盘使用率等。
bashGET /_cluster/settings
说明:检查慢查询日志配置。可通过以下命令设置慢查询阈值:
bashPUT /_settings
{
"index.search.slowlog.threshold.query.warn": "1s"
}
bashPOST /_cluster/nodes/_restart
说明:重启集群中的所有节点。
本文作者:han
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!