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。

Kibana 基本操作的更多相关文章

  1. ELK日志分析 学习笔记

    (贴一篇之前工作期间整理的elk学习笔记) ELK官网 https://www.elastic.co   ELK日志分析系统 学习笔记 概念:ELK = elasticsearch + logstas ...

  2. ElasticSearch+Kibana 索引操作( 附源码)

    一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elastics ...

  3. ElasticSearch+Kibana 索引操作

    ElasticSearch+Kibana 索引操作 一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引 ...

  4. 【ELK】4.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版+kibana管理ES的index操作

    spring boot 2.X集成ES 进行CRUD操作  完整版 内容包括: ============================================================ ...

  5. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

  6. elk系列1之入门安装与基本操作【转】

    preface 我们每天都要查看服务器的日志,一方面是为了开发的同事翻找日志,另一方面是巡检服务器查看日志,而随着服务器数量以及越来越多的业务上线,日志越来越多,人肉运维相当痛苦了,此时,参考现在非常 ...

  7. kibana 操作

    插入时不指明id,不会自动生成id,和视频中的不一样啊 解决: 其实是可以的,不过put不可以 POST才可以 中文输入有问题: 待解决: 基本操作记录 GET _search { "que ...

  8. Elasticsearch搜索常用API(利用Kibana来操作)

    上面我们已经介绍了Elasticsearch的一些基本操作,这篇文章属于进阶篇,我们一起来学习. 前面我们创建了sdb和user文档,现在我们来看如何查询user中所有的文档呢? GET /sdb/u ...

  9. ElasticSearch之安装及基本操作API

    ElasticSearch 是目前非常流行的搜索引擎,对海量数据搜索是非常友好,并且在高并发场景下,也能发挥出稳定,快速特点.也是大数据和索搜服务的开发人员所极力追捧的中间件.虽然 ElasticSe ...

随机推荐

  1. luoguP1514 引水入城 x

    P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...

  2. Cisco基础(三):HSRP配置、三层交换配置HSRP、STP的配置、三层交换配置STP

    一.HSRP配置 目标: 在企业网络到外部的连接方案中,要求不高的条件下可以是单出口.一旦该出口线路出现问题,整个企业网络就不能连接到外网了.为了使得企业网络到外网连接的高可用性,可以设置两个以上的出 ...

  3. 在Sublime Text 3中配置Python3的开发环境/Build System

    本文来源:https://www.cnblogs.com/zhangqinwei/p/6886600.html Sublime Text作为一款支持多种编程语言的文本编辑神器,深受广大开发者的喜爱.通 ...

  4. 手写ORM

    利用ORM把mysql中的数据封装成对象,通过对象点语法来获取mysql中的数据,所以自己手写一个ORM,方便我们操作数据 一.ORM:对象关系映射 类 >>> 数据库的一张表 对象 ...

  5. python3.x使用cxfreeze将.p打包成.exe

    之前写了一个使用ffplay批量查看格式为h264的图片,每次抽帧后都要打开pycharm编译器来运行程序,然后才能正常查看图片,或者在其他没有安装python环境的电脑中运行,很不方便.为此,在网上 ...

  6. SQL create file遇到操作系统错误5拒绝访问

    当在sql server 2014创建一个数据库时出现错误:尝试打开或创建物理文件 'G:\Test.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问). 原因及解决方法如下: 这 ...

  7. mysqli使用localhost问题

    <?php $mysqli = new mysqli('localhost', 'root', '123456', 'mysql'); if ($mysqli->connect_error ...

  8. 【洛谷P2016战略游戏】

    树形dp的经典例题 题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的 ...

  9. http-server 建立 HTTPS 服务

    1. 创建证书 进入要建立 HTTPS 服务的目录 openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out csr.pe ...

  10. Vue知识整理16:单文件组件

    过程较为复杂,这里直接写出视频地址,可以直接查看 https://learning.dcloud.io/#/?vid=14