ElasticSearch REST API
目录
ElasticSearch 暴露的 REST API,提供给 UI 组件使用,也可以直接被调用来配置及访问 ElasticSearch 特性。
常用API
- 索引 index:test_index
- 类型 type:test_type
- 字段名 filed:test_filed
1. 集群支持的选项
curl -XGET "http://172.0.0.52:9200/_cat"
2. 查看节点信息
curl -XGET "http://172.0.0.52:9200/_cat/nodes?v"
3. 查看 master 节点信息
curl -XGET "http://172.0.0.52:9200/_cat/master?v"
4.查看所有节点上的热点线程
curl -XGET "http://172.0.0.52:9200/_nodes/hot_threads"
5.查看有问题的分片或索引
curl -XGET "http://172.0.0.52:9200/_cluster/allocation/explain?pretty"
6.查看线程池设置
curl -XGET "http://172.0.0.52:9200/_nodes/thread_pool/"
7.统计全部信息
curl -XGET "http://172.0.0.52:9200/_cluster/stats?human&pretty"
8.查看集群状态
curl -XGET "http://172.0.0.52:9200/_cluster/health?pretty"
9.查看 ES 信息
curl -XGET "http://172.0.0.52:9200/"
10.获取所有索引的信息
curl -XGET "http://172.0.0.52:9200/_cat/indices?v&pretty"
curl -XGET "http://172.0.0.52:9200/_cat/nodes?v"
curl -XGET "http://172.0.0.52:9200/_cat/segments?v&h=shard,segment,size,size.memory"
11.获取所有文档数量
curl -XGET "http://172.0.0.52:9200/_count?pretty" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'
12. 查看集群的健康状态
- green:所有功能都是完好的;
- yellow:所有数据是可用的,但是一些副本还没有被分配;
- red代表一些数据由于某些原因已经不可用。
- 注意,尽管一个集群是red状态,它仍然可以提供部分服务(比如,它会继续从可用的切片数据里搜索),但是在失去部分数据后,需要尽快去修复。
curl -XGET "http://172.0.0.52:9200/_cat/health?v"
13. 创建索引
- test_index 索引名
- pretty 参数表示输出格式良好的JSON响应(如果存在)
curl -XPUT "http://172.0.0.52:9200/test_index?pretty"
14. 查看索引列表
curl -XGET "http://172.0.0.52:9200/_cat/indices?v"
curl -XGET "http://172.0.0.52:9200/test_index"
15. 删除索引
- 根据索引名称删除
curl -XDELETE "http://172.0.0.52:9200/test_index?pretty"
- 可以一次删除多个索引(以逗号间隔)删除所有索引_all或通配符 *
16. 创建文档
- 向 es 中插入文档的时候,必须要指定一个类型(type)
16.1.使用 PUT 来创建文档,需要指定字段
- 索引 index:test_index
- 类型 type:test_type
- 字段名 filed:test_filed
curl -XPUT "http://172.0.0.52:9200/test_index/test_type/test_filed?pretty" -H 'Content-Type: application/json' -d'
{"name": "ghl", "age": 24, "sex": "male"}'
16.2. 使用 POST 来创建文档,可以不指定 id(不指定时随机生成 id)
curl -XPOST "http://172.0.0.52:9200/test_index/test_type?pretty" -H 'Content-Type: application/json' -d'
{"name": "Jack"}'
17. 查看文档
curl -XGET "http://172.0.0.52:9200/test_index/test_type/test_filed?pretty"
18. 替换文档
使用 PUT 并指定 id 时,es 会使用新的文档替换原文档
curl -XPUT "http://172.0.0.52:9200/test_index/test_type/test_filed?pretty" -H 'Content-Type: application/json' -d'
{"name": "Jack"}'
19. 更新文档
curl -XPOST "http://172.0.0.52:9200/test_index/test_type/test_filed/_update?pretty" -H 'Content-Type: application/json' -d'
{"doc":{"name": "Lucy"}}'
20. 删除文档
curl -XDELETE "http://172.0.0.52:9200/test_index/test_type/test_filed?pretty"
21. 索引的增删改查有一个类似的格式下:
curl -XGET "http://172.0.0.52:9200/<Index>/<Type>/<ID>"
REST Verb
:REST 风格的语法谓词;Node
:节点 ip;port
:节点端口号,默认 9200;Index
:索引名;Type
:索引类型;ID
:操作对象的 ID 号;
22. 判断索引是否存在
curl -XHEAD "http://172.0.0.52:9200/test_index"
23. 查看索引模板
curl -XGET "http://172.0.0.52:9200/_template/template_1"
curl -XGET "http://172.0.0.52:9200/_template/temp*"
curl -XGET "http://172.0.0.52:9200/_template/template_1,template_2"
curl -XGET "http://172.0.0.52:9200/_template"
24. 删除模板
curl -XDELETE "http://172.0.0.52:9200/_template/template_1"
25. 打开/关闭索引
curl -XPOST "http://172.0.0.52:9200/test_index/_close"
curl -XPOST "http://172.0.0.52:9200/test_index/_open"
curl -XGET "http://172.0.0.52:9200/_cat/indices?v"
26.查看索引状态信息
curl -XGET "http://172.0.0.52:9200/_stats"
curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_index/_stats"
27.查看索引段信息
curl -XGET "http://172.0.0.52:9200/test_index/_segments"
curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_index/_segments"
curl -XGET "http://172.0.0.52:9200/_segments"
合集:
ElasticSearch
分类:
ElasticSearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!