zoukankan      html  css  js  c++  java
  • 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、



















    附件列表

    • 相关阅读:
      开发两年!JVM方法调用都玩不明白,你离被炒鱿鱼不远了!
      springboot基本框架搭建零基础教程,对新手极为友好!
      SpingBoot整合Mybatis,这些小技巧你得知道,对你工作有很大的帮助!
      今天我们基于jdk8聊聊JVM-常量池,希望对大家有帮助!
      剑指 Offer 12. 矩阵中的路径
      WUSTCTF2020 funnyre
      2020 DJBCTF RE wp
      黑马c++基础的一个通讯录系统
      elf文件结构解读以及plt节got节的理解
      ubuntu16.04上编译android的可执行文件并调用本地so库
    • 原文地址:https://www.cnblogs.com/lishouguang/p/4560930.html
    Copyright © 2011-2022 走看看