Elasticsearch 语法指南(全)
有暗香盈袖 人气:0所有的语句默认都是没有用户名和密码,如果你的 es 集群做了安全认证的话,请在每一个 crul 后面加上 -u username:password
例如:
curl -u admin:123456 -XGET "http://172.0.0.52:9200/_cat"
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_one 索引名
- pretty 参数表示输出格式良好的JSON响应(如果存在)
curl -XPUT "http://172.0.0.52:9200/test_one?pretty"
14查看索引列表
curl -XGET "http://172.0.0.52:9200/_cat/indices?v" curl -XGET "http://172.0.0.52:9200/test_one"
15删除索引
根据索引名称删除。
curl -XDELETE "http://172.0.0.52:9200/test_one?pretty"
- 可以一次删除多个索引(以逗号间隔)
- 删除所有索引_all或通配符 *
16创建文档
使用PUT来创建文档,需要指定id。
- 索引 index:test_one
- 类型 type:test_type
- _id:1
curl -XPUT "http://172.0.0.52:9200/test_one/test_type/1?pretty" -H 'Content-Type: application/json' -d' {"name": "ghl", "age": 24, "sex": "male"}'
使用POST来创建文档,可以不指定id(不指定时随机生成id)
curl -XPOST "http://172.0.0.52:9200/test_one/test_type?pretty" -H 'Content-Type: application/json' -d' {"name": "Jack"}'
17查看文档
curl -XGET "http://172.0.0.52:9200/test_one/test_type/1?pretty"
18替换文档
使用PUT并指定id时,es会使用新的文档替换原文档。
curl -XPUT "http://172.0.0.52:9200/test_one/test_type/1?pretty" -H 'Content-Type: application/json' -d' {"name": "Jack"}'
19更新文档
curl -XPOST "http://172.0.0.52:9200/test_one/test_type/1/_update?pretty" -H 'Content-Type: application/json' -d' {"doc":{"name": "Lucy"}}'
20删除文档
curl -XDELETE "http://172.0.0.52:9200/test_one/test_type/1?pretty"
索引的增删改查有一个类似的格式下:
- REST风格的语法谓词
- 节点ip
- 节点端口号,默认9200
- 索引名
- 索引类型
- 操作对象的ID号
curl -XGET "http://172.0.0.52:9200/<Index>/<Type>/<ID>"
21判断索引是否存在
curl -XHEAD "http://172.0.0.52:9200/test_one"
22查看索引模板
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"
23删除模板
curl -XDELETE "http://172.0.0.52:9200/_template/template_1"
24打开/关闭索引
curl -XPOST "http://172.0.0.52:9200/test_one/_close" curl -XPOST "http://172.0.0.52:9200/test_one/_open" curl -XGET "http://172.0.0.52:9200/_cat/indices?v"
25查看索引状态信息
curl -XGET "http://172.0.0.52:9200/_stats" curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_one/_stats"
26查看索引段信息
curl -XGET "http://172.0.0.52:9200/test_one/_segments" curl -XGET "http://172.0.0.52:9200/logstash-nginx-access-2019.08.07,test_one/_segments" curl -XGET "http://172.0.0.52:9200/_segments"
加载全部内容