Kibana的基本使用

作者: 众神开挂 | 来源:发表于2020-03-20 00:25 被阅读0次
    1、检查ES是否启动成功
    GET ?pretty
    
    2、检查集群的健康状态
    GET /_cat/health?v
    GET _cluster/health
    
    3、查看集群中有哪些索引
    GET /_cat/indices?v 
    
    4、简单的索引操作
    创建索引:PUT /test_index?pretty
    删除索引:DELETE /test_index?pretty
    

    在 7.0 以及之后的版本中 Type 被废弃了。一个 index 中只有一个默认的 type,即 _doc

    ES 的Type 被废弃后,库表合一,Index 既可以被认为对应 MySQL 的 Database,也可以认为对应 table。

    5、简单的CRUD操作
    5.1 创建文档

    第一种格式:

    PUT /index/_doc/id  ##POST方法也适用
    {
      "json数据"
    }
    

    第二种格式:(防止覆盖)

    创建文档时,防止覆盖id已存在的文档,可以通过_create加以限制,如下

    PUT /index/_create/id
    {
      "json数据"
    }
    

    第三种格式:

    ##不指定文档ID,需要使用POST方法,而不是PUT方法。
    
    POST /index/_doc
    {
      "json数据"
    }
    

    创建示例01(第一种格式)

    PUT /ecommerce/_doc/1
    {
      "name": "gaolujie yagao",
      "desc": "gaoxiao meibai",
      "price": 30,
      "producer": "gaolujie producer",
      "tags": [
        "meibai",
        "fangzhu"
      ]
    }
    

    创建示例02(第二种格式)

    PUT /ecommerce/_create/2
    {
      "name": "jiajieshi yagao",
      "desc": "youxiao fangzhu",
      "price": 25,
      "producer": "jiajieshi producer",
      "tags": [
        "fangzhu"
      ]
    }
    ## 该文档如果存在,添加失败。
    

    创建示例03(第三种格式)

    POST /ecommerce/_doc
    {
      "name": "zhonghua yagao",
      "desc": "caoben zhiwu",
      "price": 40,
      "producer": "zhonghua producer",
      "tags": [
        "qingxin"
      ]
    }
    
    5.2 查询文档

    查询格式

    GET /index/type/id
    

    查询示例

    GET /ecommerce/_doc/1
    

    查询返回的值

    {
      "_index" : "ecommerce",
      "_type" : "_doc",
      "_id" : "1",
      "_version" : 1,
      "_seq_no" : 0,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "name" : "gaolujie yagao",
        "desc" : "gaoxiao meibai",
        "price" : 30,
        "producer" : "gaolujie producer",
        "tags" : [
          "meibai",
          "fangzhu"
        ]
      }
    }
    
    5.3 更新文档

    文档更细

    更新示例

    PUT /ecommerce/_doc/1
    {
      "name": "jiaqiangban gaolujie yagao",
      "desc": "gaoxiao meibai",
      "price": 40,
      "producer": "gaolujie producer",
      "tags": [
        "meibai",
        "fangzhu"
      ]
    }
    

    再次查询,检查是否更新

    # GET /index/type/id
    
    {
      "_index" : "ecommerce",
      "_type" : "_doc",
      "_id" : "1",
      "_version" : 2,
      "_seq_no" : 2,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "name" : "jiaqiangban gaolujie yagao",
        "desc" : "gaoxiao meibai",
        "price" : 40,
        "producer" : "gaolujie producer",
        "tags" : [
          "meibai",
          "fangzhu"
        ]
      }
    }
    

    注意的小点

    ElasticSearch实际上并没有在底层执行覆盖更新。而是先删除旧文档,再添加一条新文档。

    更新字段

    通过脚本更新制定字段,其中ctx是脚本语言中的一个执行对象,先获取_source,再修改price字段

    POST ecommerce/_update/1
    {
      "script": {
        "source": "ctx._source.price=10"
      } 
    }
    

    添加字段

    与修改字段类似

    POST ecommerce/_update/1
    {
      "script": {
        "source": "ctx._source.add=34"
      } 
    }
    

    删除字段

    POST ecommerce/_update/1
    {
      "script": {
        "source":"ctx._source.remove(\"add\")"
      }
    }
    
    5.4 删除文档

    示例

    DELETE /ecommerce/_doc/4
    

    成功执行后的返回的结果

    {
      "_index" : "ecommerce",
      "_type" : "_doc",
      "_id" : "4",
      "_version" : 2,
      "result" : "deleted",
      "_shards" : {
        "total" : 2,
        "successful" : 1,
        "failed" : 0
      },
      "_seq_no" : 7,
      "_primary_term" : 1
    }
    
    6、判定文档是否存在
    HEAD index/_doc/1
    

    示例

    HEAD ecommerce/_doc/1
    

    存在的话返回 200 - OK

    相关文章

      网友评论

        本文标题:Kibana的基本使用

        本文链接:https://www.haomeiwen.com/subject/dffdyhtx.html