elasticsearch常用命令

elasticsearch的rest访问格式:
  1. curl -X<REST Verb> <Node>:<Port>/<Index>/<Type>/<ID>

1、启动
  1. [es@vm1 bin]$ ./elasticsearch --cluster.name myes --node.name node1

2、查看集群状态
  1. [es@vm1 ~]$ curl http://vm1:9200/_cat/health?v
  2. epoch      timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks 
  3. 1432704777 22:32:57  myes    green

3、查看节点列表
  1. [es@vm1 ~]$ curl http://vm1:9200/_cat/nodes?v
  2. host ip             heap.percent ram.percent load node.role master name  
  3. vm1  192.168.1.111     3           24 0.04 d         *       node1

4、查看index列表
  1. [es@vm1 ~]$ curl http://vm1:9200/_cat/indices?v
  2. health status index pri rep docs.count docs.deleted store.size pri.store.size

5、创建index
  1. [es@vm1 ~]$ curl -XPUT http://vm1:9200/customer?pretty   
  2. {
  3.   "acknowledged" : true
  4. }

6、添加一个document
  1. [es@vm1 ~]$ curl -XPUT vm1:9200/customer/external/1?pretty -d '{"name":"lisg"}'
  2. {
  3.   "_index" : "customer",
  4.   "_type" : "external",
  5.   "_id" : "1",
  6.   "_version" : 4,
  7.   "created" : true
  8. }

7、检索一个document
  1. [es@vm1 ~]$ curl -XGET vm1:9200/customer/external/1?pretty
  2. {
  3.   "_index" : "customer",
  4.   "_type" : "external",
  5.   "_id" : "1",
  6.   "_version" : 4,
  7.   "found" : true,
  8.   "_source":{"name":"lisg"}
  9. }

8、删除一个document
  1. [es@vm1 ~]$ curl -XDELETE vm1:9200/customer/external/1?pretty
  2. {
  3.   "found" : true,
  4.   "_index" : "customer",
  5.   "_type" : "external",
  6.   "_id" : "1",
  7.   "_version" : 5
  8. }

9、删除一个type
  1. [es@vm1 ~]$ curl -XDELETE vm1:9200/customer/external?pretty
  2. {
  3.   "acknowledged" : true
  4. }

10、删除一个index
  1. [es@vm1 ~]$ curl -XDELETE vm1:9200/customer?pretty
  2. {
  3.   "acknowledged" : true
  4. }

11、POST方式可以添加一个document,不用指定ID
  1. [es@vm1 ~]$ curl -XPOST vm1:9200/customer/external?pretty -d '{"name":"zhangsan"}'
  2. {
  3.   "_index" : "customer",
  4.   "_type" : "external",
  5.   "_id" : "AU2UAazzBzlrcKeIwh7T",
  6.   "_version" : 1,
  7.   "created" : true
  8. }

12、使用doc更新document
[es@vm1 ~]$ curl -XPUT vm1:9200/customer/external/1?pretty -d '{"name":"lisg4", "age":28}'
{
  "_index" : "customer",
  "_type" : "external",
  "_id" : "1",
  "_version" : 4,
  "created" : false
}
13、使用script更新document(1.4.3版本动态脚本是被禁止的)
[es@vm1 ~]$ curl -XPOST vm1:9200/customer/external/1/_update?pretty -d '{"script":"ctx._source.age += 5"}'
{
  "error" : "ElasticsearchIllegalArgumentException[failed to execute script]; nested: ScriptException[dynamic scripting for [groovy] disabled]; ",
  "status" : 400
}
14、查询全部
[es@vm1 ~]$ curl -XGET vm1:9200/customer/external/_search?pretty
{
  "took" : 12,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 3,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "customer",
      "_type" : "external",
      "_id" : "AU2UAazzBzlrcKeIwh7T",
      "_score" : 1.0,
      "_source":{"name":"zhangsan"}
    }, {
      "_index" : "customer",
      "_type" : "external",
      "_id" : "1",
      "_score" : 1.0,
      "_source":{"name":"lisg4", "age":28}
    }, {
      "_index" : "customer",
      "_type" : "external",
      "_id" : "2",
      "_score" : 1.0,
      "_source":{"name":"dengsl"}
    } ]
  }
}
15、批量操作,{}之间要换行
  1. [es@vm1 ~]$ curl -XPOST vm1:9200/customer/external/_bulk?pretty -d '
  2. > {index:{_id:3}}
  3. > {name:"zhangsan", age:28}
  4. > {index:{_id:4}}
  5. > {name:"lisi", age:29}
  6. > {update:{_id:4}}
  7. > {doc:{name:"lisi2", age:30}}
  8. > {delete:{_id:"AU2UAazzBzlrcKeIwh7T"}}
  9. > '
  10. {
  11.   "took" : 34,
  12.   "errors" : false,
  13.   "items" : [ {
  14.     "index" : {
  15.       "_index" : "customer",
  16.       "_type" : "external",
  17.       "_id" : "3",
  18.       "_version" : 1,
  19.       "status" : 201
  20.     }
  21.   }, {
  22.     "index" : {
  23.       "_index" : "customer",
  24.       "_type" : "external",
  25.       "_id" : "4",
  26.       "_version" : 1,
  27.       "status" : 201
  28.     }
  29.   }, {
  30.     "update" : {
  31.       "_index" : "customer",
  32.       "_type" : "external",
  33.       "_id" : "4",
  34.       "_version" : 2,
  35.       "status" : 200
  36.     }
  37.   }, {
  38.     "delete" : {
  39.       "_index" : "customer",
  40.       "_type" : "external",
  41.       "_id" : "AU2UAazzBzlrcKeIwh7T",
  42.       "_version" : 2,
  43.       "status" : 200,
  44.       "found" : true
  45.     }
  46.   } ]
  47. }

上面的语句顺序执行的操作有:
1)添加索引:张三,28
2)添加索引:李四,29
3)更新李四:李四2,30
4)删除索引:id是AU2UAazzBzlrcKeIwh7T的索引

16、从文件中加载数据(accounts.json见附件)
  1. [es@vm1 ~]$ curl -XPOST http://vm1:9200/customer/external/_bulk?pretty --data-binary @accounts.json 
  2. [es@vm1 ~]$ curl -XGET vm1:9200/_cat/indices?v
  3. health status index    pri rep docs.count docs.deleted store.size pri.store.size 
  4. yellow open   customer   5   1       1000            0    442.3kb        442.3kb 

17、



















附件列表

     

    posted @ 2015-06-08 14:50  lishouguang  阅读(9571)  评论(0编辑  收藏  举报