zoukankan      html  css  js  c++  java
  • Kibana 基本操作

    es中的索引对应mysql的数据库、类型对应mysql的表、文档对应mysql的记录、映射对应mysql的索引
    索引:index
    类型:type
    映射:mappings

    1、创建索引
    在kibana的Dev Tools中输入如下

    PUT /lib/
    {
        "settings":{
            "index":{
                "number_of_shards":3,
                "number_of_replicas":0
            }
        }
    }

    索引的名称为lib
    number_of_shards:分片的数量为3,分片的数量一旦确定了就不能修改
    number_of_replicas: 备份的数量为1,由于就1台服务器因此备份数量为0

    创建成果后在右边显示如下

    {
      "acknowledged": true,
      "shards_acknowledged": true,
      "index""lib"
    }

    直接创建一个索引,会使用默认配置
    PUT lib2

    查看已经创建好的索引的配置
    GET /lib/_settings
    GET /lib2/_settings

    查看所有索引的配置
    GET _all/_settings

    2、在索引下添加文档
    # user 是类型
    # 1 是文档的id

    PUT /lib/user/1
    {
        "first_name""Jane",
        "last_name""Smith",
        "age"32,
        "about""I like to collect rock albums",
        "interests": ["music"]
    }

    右边显示结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"1,
      "result""created",
      "_shards": {
        "total"1,
        "successful"1,
        "failed"0
      },
      "_seq_no"0,
      "_primary_term"1
    }

    如果添加文档时没有指定id,那么这个id会由es自动生成,那么我们要使用POST方式添加文档

    POST /lib/user/
    {
        "first_name""Douglas",
        "last_name""Fir",
        "age"23,
        "about""I like to build cabinets",
        "interests": ["forestry"]
    }

    结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""3z0vM2kBpR5Gle8qjwsu",
      "_version"1,
      "result""created",
      "_shards": {
        "total"1,
        "successful"1,
        "failed"0
      },
      "_seq_no"0,
      "_primary_term"1
    }

    3、查询文档
    # 根据文档id进行查询
    GET /lib/user/1
    结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"1,
      "found": true,
      "_source": {
        "first_name""Jane",
        "last_name""Smith",
        "age"32,
        "about""I like to collect rock albums",
        "interests": [
          "music"
        ]
      }
    }

    GET /lib/user/3z0vM2kBpR5Gle8qjwsu

    # 查看文档的部分信息
    GET /lib/user/1?_source=age,about
    结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"1,
      "found": true,
      "_source": {
        "about""I like to collect rock albums",
        "age"32
      }
    }

    4、修改文档
    # 使用一个新的文档覆盖之前的文档,会覆盖文档所有字段的值

    PUT /lib/user/1
    {
        "first_name""Jane",
        "last_name""Smith",
        "age"36,
        "about""I like to collect rock albums",
        "interests": ["music"]
    }

    结果如下,会提示结果为updated

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"2,
      "result""updated",
      "_shards": {
        "total"1,
        "successful"1,
        "failed"0
      },
      "_seq_no"1,
      "_primary_term"1
    }

    # 修改文档中的指定字段的值

    POST /lib/user/1/_update
    {
        "doc":{
            "age":33
        }
    }

    结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"3,
      "result""updated",
      "_shards": {
        "total"1,
        "successful"1,
        "failed"0
      },
      "_seq_no"2,
      "_primary_term"1
    }

    5、删除文档
    DELETE /lib/user/1
    结果如下

    {
      "_index""lib",
      "_type""user",
      "_id""1",
      "_version"4,
      "result""deleted",
      "_shards": {
        "total"1,
        "successful"1,
        "failed"0
      },
      "_seq_no"3,
      "_primary_term"1
    }

    6、删除一个索引
    DELETE lib2
    结果如下
    {
    “acknowledged”: true
    }

    7、put和post比较

    PUT是幂等方法,而POST并不是。

    PUT用于更新操作,POST用于新增操作比较合适。

    PUT,DELETE操作是幂等的,所谓幂等就是指不管进行多少次操作,结果都一样。比如,我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。

    POST操作不是幂等,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

    还有一点需要注意的是,创建操作可以使用POST,也可以使用PUT。区别在于POST是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。

  • 相关阅读:
    Lombok Pojo默认初始值问题
    spring boot打包以及centos下部署
    Spring事件监听ApplicationListener源码流程分析
    synchronized是什么,用法及原理
    Spring动态切换数据源及事务
    linux环境中关闭tomcat,通过shutdown.sh无法彻底关闭--线程池
    LVS之DR模式
    LVS之ipvsadm命令
    LVS之NAT模式
    tcpdump抓包命令
  • 原文地址:https://www.cnblogs.com/JimShi/p/11242657.html
Copyright © 2011-2022 走看看