使用curl命令操作elasticsearch
第一:_cat系列
_cat系列提供了一系列查询elasticsearch集群状态的接口。你可以通过执行curl -XGET localhost:9200/_cat获取所有_cat系列的操作=^.^=/_cat/allocation/_cat/shards/_cat/shards/{index}/_cat/master/_cat/nodes/_cat/indices/_cat/indices/{index}/_cat/segments/_cat/segments/{index}/_cat/count/_cat/count/{index}/_cat/recovery/_cat/recovery/{index}/_cat/health/_cat/pending_tasks/_cat/aliases/_cat/aliases/{alias}/_cat/thread_pool/_cat/plugins/_cat/fielddata/_cat/fielddata/{fields}你也可以后面加一个v,让输出内容表格显示表头,举例name component version type urlPrometheus analysis-mmseg NA jPrometheus analysis-pinyin NA jPrometheus analysis-ik NA jPrometheus analysis-ik NA jPrometheus analysis-smartcn 2.1.0 jPrometheus segmentspy NA s /_plugin/segmentspy/Prometheus head NA s /_plugin/head/Prometheus bigdesk NA s /_plugin/bigdesk/Xandu analysis-ik NA jXandu analysis-pinyin NA jXandu analysis-mmseg NA jXandu analysis-smartcn 2.1.0 jXandu head NA s /_plugin/head/Xandu bigdesk NA s /_plugin/bigdesk/Onyxx analysis-ik NA jOnyxx analysis-mmseg NA jOnyxx analysis-smartcn 2.1.0 jOnyxx analysis-pinyin NA jOnyxx head NA s /_plugin/head/Onyxx bigdesk NA s /_plugin/bigdesk/
第二:_cluster系列
1、查询设置集群状态curl -XGET localhost:9200/_cluster/health?pretty=truepretty=true表示格式化输出level=indices 表示显示索引状态level=shards 表示显示分片信息2、curl -XGET localhost:9200/_cluster/stats?pretty=true显示集群系统信息,包括CPU JVM等等3、curl -XGET localhost:9200/_cluster/state?pretty=true集群的详细信息。包括节点、分片等。3、curl -XGET localhost:9200/_cluster/pending_tasks?pretty=true获取集群堆积的任务3、修改集群配置举例:curl -XPUT localhost:9200/_cluster/settings -d '{ "persistent" : { "discovery.zen.minimum_master_nodes" : 2 }}'
transient 表示临时的,persistent表示永久的
4、curl -XPOST ‘localhost:9200/_cluster/reroute’ -d ‘xxxxxx’对shard的手动控制,参考http://zhaoyanblog.com/archives/687.html5、关闭节点关闭指定192.168.1.1节点curl -XPOST ‘http://192.168.1.1:9200/_cluster/nodes/_local/_shutdown’curl -XPOST ‘http://localhost:9200/_cluster/nodes/192.168.1.1/_shutdown’关闭主节点curl -XPOST ‘http://localhost:9200/_cluster/nodes/_master/_shutdown’关闭整个集群$ curl -XPOST ‘http://localhost:9200/_shutdown?delay=10s’$ curl -XPOST ‘http://localhost:9200/_cluster/nodes/_shutdown’$ curl -XPOST ‘http://localhost:9200/_cluster/nodes/_all/_shutdown’delay=10s表示延迟10秒关闭第三:_nodes系列
1、查询节点的状态curl -XGET ‘http://localhost:9200/_nodes/stats?pretty=true’curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2/stats?pretty=true’curl -XGET ‘http://localhost:9200/_nodes/process’curl -XGET ‘http://localhost:9200/_nodes/_all/process’curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/jvm,process’curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/info/jvm,process’curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/_allcurl -XGET ‘http://localhost:9200/_nodes/hot_threads第四:索引操作1、获取索引curl -XGET ‘http://localhost:9200/{index}/{type}/{id}’2、索引数据curl -XPOST ‘http://localhost:9200/{index}/{type}/{id}’ -d'{“a”:”avalue”,”b”:”bvalue”}’3、删除索引curl -XDELETE ‘http://localhost:9200/{index}/{type}/{id}’4、设置mappingcurl -XPUT http://localhost:9200/{index}/{type}/_mapping -d '{ "{type}" : { "properties" : { "date" : { "type" : "long" }, "name" : { "type" : "string", "index" : "not_analyzed" }, "status" : { "type" : "integer" }, "type" : { "type" : "integer" } } }}'
5、获取mapping
curl -XGET http://localhost:9200/{index}/{type}/_mapping6、搜索curl -XGET 'http://localhost:9200/{index}/{type}/_search' -d '{ "query" : { "term" : { "user" : "kimchy" } //查所有 "match_all": {} }, "sort" : [{ "age" : {"order" : "asc"}},{ "name" : "desc" } ], "from":0, "size":100}curl -XGET 'http://localhost:9200/{index}/{type}/_search' -d '{ "filter": {"and":{"filters":[{"term":{"age":"123"}},{"term":{"name":"张三"}}]}, "sort" : [{ "age" : {"order" : "asc"}},{ "name" : "desc" } ], "from":0, "size":100}
转载自: