ES普通模式下基础操作

查询某台机器的状态

curl http://localhost:8200/_cluster/nodes/10.0.2.226?pretty

使用通配符查询

curl http://localhost:8200/_cluster/nodes/10.0.2.2*?pretty

•获取集群健康状态

curl -XGET 'http://192.168.10.84:9200/_cluster/health?pretty'

获取集群全局状态

curl -XGET 'http://192.168.10.84:9200/_cluster/stats?pretty'

解释集群分片

curl -XGET 'http://192.168.10.84:9200/_cluster/allocation/explain?pretty' -H 'Content-Type:application/json' -d '{"index""indexname","shard"number of shards,"primary"true}'

curl -XGET 'http://192.168.10.84:9200/_cluster/allocation/explain?pretty' -H 'Content-Type:application/json' -d '{"index""indexname","shard"number of shards,"primary"true}'
•查询_cat接口支持的所有命令列表
curl -XGET 'http://192.168.10.84:9200/_cat/'
•查询集群健康状态
curl -XGET 'http://192.168.10.84:9200/_cat/health?v'

查询索引列表【生产环境会有多个索引】

curl -XGET 'http://192.168.10.84:9200/_cat/indices?v'
•查询集群实例列表
curl -XGET 'http://192.168.10.84:9200/_cat/nodes?v'
•查询nodes接口的帮助信息
curl -XGET 'http://192.168.10.84:9200/_cat/nodes?help'
•查询nodes指定参数列的值
curl -XGET 'http://192.168.10.84:9200/_cat/nodes?v&h=http,dt,du,dup,hm,hc,hp,fdm,fdc,fdp,cpu'
•查询集群线程池使用情况
curl -XGET 'http://192.168.10.84:9200/_cat/thread_pool?v'
•查询集群bulk线程数
curl -XGET 'http://192.168.10.84:9200/_cat/thread_pool/bulk?v'
curl -XGET 'http://192.168.10.84:9200/_cat/thread_pool/bulk?v&h=node_name,active,queue,rejected,c'

[zkx@node04 ~]$ curl -XGET 'http://192.168.10.84:9200/_cat/thread_pool/bulk?v'
node_name name active queue rejected
[zkx@node04 ~]$ curl -XGET 'http://192.168.10.84:9200/_cat/thread_pool/bulk?v&h=node_name,active,queue,rejected,c'
node_name active queue rejected c

•查询主master实例
curl -XGET 'http://192.168.10.84:9200/_cat/master?v'

[zkx@node04 ~]$ curl -XGET 'http://192.168.10.84:9200/_cat/master?v'
id                     host          ip            node
6lVL28gETga0UcaL1Aki6g 192.168.10.86 192.168.10.86 node06

•查询每个实例的分片个数
curl -XGET 'http://192.168.10.84:9200/_cat/allocation?v'

•查看分片未分配的原因
curl -XGET 'http://192.168.10.84:9200/_cat/shards?v&h=index,shard,prirep,state,ur'

[zkx@node04 ~]$ curl -XGET 'http://192.168.10.84:9200/_cat/shards?v&h=index,shard,prirep,state,ur'
index   shard prirep state   ur
.kibana 0     p      STARTED
.kibana 0     r      STARTED
index1  1     r      STARTED
index1  1     p      STARTED
index1  3     r      STARTED
index1  3     p      STARTED
index1  2     p      STARTED
index1  2     r      STARTED
index1  4     p      STARTED
index1  4     r      STARTED
index1  0     r      STARTED
index1  0     p      STARTED

_nodes命令
•查询所有EsMaster实例的jvm参数
curl -XGET 'http://192.168.10.84:9200/_nodes/EsMaster*/stats/jvm?pretty'

•查询指定EsMaster实例的jvm参数
curl -XGET 'http://192.168.10.84:9200/_nodes/EsMaster@ip/stats/jvm?pretty'
•查询所有EsNode实例的jvm参数
curl -XGET 'http://192.168.10.84:9200/_nodes/EsNode*/stats/jvm?pretty'
•查询指定EsNode1实例的jvm参数
curl -XGET 'http://192.168.10.84:9200/_nodes/EsNode1@ip/stats/jvm?pretty'
curl -XGET 'http://192.168.10.84:9200/_nodes/[email protected]/stats/jvm?pretty'
索引操作
•新建索引,并设置副本数
curl -XPUT 'http://192.168.10.84:9200/website?pretty' -H 'Content-Type: application/json' -d' {"settings" : {"number_of_shards" : 3,"number_of_replicas" : 1} }'

例如:curl -XPUT 'http://10.131.112.121:24100/website?pretty' -H 'Content-Type: application/json' -d' {"settings" : {"number_of_shards" : 3,"number_of_replicas" : 1} }'

•查询指定索引mappings
curl -XGET 'http://192.168.10.84:9200/website/_mappings?pretty'
•查询指定索引settings
curl -XGET 'http://192.168.10.84:9200/website/_settings?pretty'
•写入数据
curl -XPOST 'http://192.168.10.84:9200/website/blog/123?pretty' -H 'Content-Type: application/json' -d' {"title": "My first blog entry", "text": "Just trying this out...","date": "2014/01/01"}'
•关闭索引
curl -XPOST 'http://192.168.10.84:9200/website/_close?pretty'
•打开索引
curl -XPOST 'http://192.168.10.84:9200/website/_open?pretty'
•删除索引
curl -XDELETE 'http://192.168.10.84:9200/indexName?pretty'
•修改索引刷新时间
curl -XPUT 'http://192.168.10.84:9200/website/_settings?pretty' -H 'Content-Type: application/json' -d'{"refresh_interval" : "time (unit: seconds)"}'
•清理Elasticsearch查询缓存
curl -XPOST 'http://192.168.10.84:9200/_cache/clear?pretty'
•设置索引副本
curl -XPUT 'http://192.168.10.84:9200/indexName/_settings?pretty' -H 'Content-Type: application/json' -d'{"number_of_replicas" : number of replicas}'
•执行refresh,将内存数据刷新到磁盘缓存
curl -XPOST 'http://192.168.10.84:9200/_refresh?pretty'
•执行flush,将磁盘缓存刷新到文件系统
curl -XPOST 'http://192.168.10.84:9200/_flush?pretty'
•执行synced flush,将磁盘缓存刷新到文件系统,并生成相同的syncid
curl -XPOST 'http://192.168.10.84:9200/indexName/_flush/synced?pretty'
•执行段合并
curl -XPOST 'http://192.168.10.84:9200/indexName/_forcemerge?only_expunge_deletes=false&max_num_segments=1&flush=true&pretty'
•设置索引在每个实例上的分片个数
curl -XPUT 'http://192.168.10.84:9200/indexName/_settings?pretty' -H 'Content-Type:application/json' -d '{"index.routing.allocation.total_shards_per_node":"number of shards"}'
•检查文档是否存在
curl -i -HEAD 'http://192.168.10.84:9200/indexName/type/indexID?pretty'
•查询索引全部数据【OK】
curl -XGET 'http://192.168.10.84:9200/website/_search?pretty'
•查询指定ID数据【OK】
curl -XGET 'http://192.168.10.84:9200/indexName/type/indexID?pretty'
•查询文档的一部分数据
curl -XGET 'http://192.168.10.84:9200/indexName/type/indexID?_source=documentAttributeName1,documentAttribute2&pretty'
•删除文档
curl -XDELETE 'http://192.168.10.84:9200/indexName/type/indexID?pretty'

你可能感兴趣的:(ES普通模式下基础操作)