kibana Dev Tools语句查询简单使用入门_dev tools es基础查询-程序员宅基地

技术标签: restful  kibana  数据库  ES  

使用kibana7.0.0的控制台Dev Tools操作ES数据的基本语法入门示例

因为使用的是本地启动的ES库,所以需要先启动ES,然后启动kibana,直接从官网上下载安装启动即可,说明一点就是需先启动ES,在启动kibana,该部分效果以及添加官方示例数据已在之前一篇文章中写过,此处不再重复。

直接点击Dev Tools,来看基本操作

1,输入:GET /

在右侧将看到和启动完ES后在浏览器输入localhost:9200相同的内容

2,创建索引

输入:

说明:因为7版本之后,ES不再支持一个索引(index)可以创建多个类型(type),所以cmcc/后边不再需要写入类型名称,而是统一使用_create代替即可,同样的,查询操作使用_doc代替即可,右侧看到如下图所示类似形式表示创建成功

3,查看刚才创建的索引

输入:GET cmcc/_doc/1

右侧将显示刚才创建的内容,其中_index是刚才创建的索引名称;_type是类型,7版本统一为_doc;_id为创建时的ID,如果创建索引的时候不设置ID,那么ES将默认分配一个ID,不过样式会比较长,不好记忆;_version为版本号,如果我们之后对该数据进行了修改,那么他会随之变化;_source里边就是我们刚才加进去的数据内容

4,删除索引

输入:DELETE cmcc

只需要在DELETE后边加上索引名称即可

5,修改数据

输入:

这里我们修改了"name"值,把"province"和"conutry"值改为中文,并添加了一个新属性"xingbie",执行之后我们再次执行获取数据内容命令GET cmcc/_doc/1,如下,可以看到数据已经被修改,版本号变成了2

6,bulk方法批量插入数据

输入:

使用POST方法,然后每一条数据的格式是一致的,首先第一行输入 {"index":{"_index":"cmcc"}} ,也就是索引名称,第二行输入要插入的完整数据,这里特别提醒下,插入的这条数据不能使用刚才创建数据时的那种多行形式,只能使用没有回车的一条数据,否则会报错如下:

{
  "error": {
    "root_cause": [
      {
        "type": "json_e_o_f_exception",
        "reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@154857fc; line: 1, column: 1])\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@154857fc; line: 1, column: 3]"
      }
    ],
    "type": "json_e_o_f_exception",
    "reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@154857fc; line: 1, column: 1])\n at [Source: org.elasticsearch.transport.netty4.ByteBufStreamInput@154857fc; line: 1, column: 3]"
  },
  "status": 500
}

执行完毕后,我们再次获取数据看一下,输入:GET cmcc/_search

结果如下:(不截长图了,就直接贴结果吧>_<)

{
  "took" : 374,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 5,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "cmcc",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "dunkking",
          "age" : 27,
          "location" : "SG",
          "province" : "河北",
          "country" : "中国",
          "xingbie" : "mela"
        }
      },
      {
        "_index" : "cmcc",
        "_type" : "_doc",
        "_id" : "9vD-3moBmjOHTfOJtVLL",
        "_score" : 1.0,
        "_source" : {
          "name" : "points",
          "age" : 23,
          "location" : "PG",
          "province" : "江苏",
          "country" : "中国",
          "xingbie" : "mela"
        }
      },
      {
        "_index" : "cmcc",
        "_type" : "_doc",
        "_id" : "9_D-3moBmjOHTfOJtVLL",
        "_score" : 1.0,
        "_source" : {
          "name" : "rebound",
          "age" : 24,
          "location" : "SF",
          "province" : "广州",
          "country" : "中国",
          "xingbie" : "mela"
        }
      },
      {
        "_index" : "cmcc",
        "_type" : "_doc",
        "_id" : "-PD-3moBmjOHTfOJtVLL",
        "_score" : 1.0,
        "_source" : {
          "name" : "center",
          "age" : 23,
          "location" : "C",
          "province" : "北京",
          "country" : "中国",
          "xingbie" : "femela"
        }
      },
      {
        "_index" : "cmcc",
        "_type" : "_doc",
        "_id" : "-fD-3moBmjOHTfOJtVLL",
        "_score" : 1.0,
        "_source" : {
          "name" : "assist",
          "age" : 21,
          "location" : "PF",
          "province" : "广州",
          "country" : "中国",
          "xingbie" : "famela"
        }
      }
    ]
  }
}

7,按照条件查询

输入:

也就是查询数据中属性"province"为"广州"的数据,结果如下:

{

  "took" : 10,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 2,

      "relation" : "eq"

    },

    "max_score" : 1.7509375,

    "hits" : [

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9_D-3moBmjOHTfOJtVLL",

        "_score" : 1.7509375,

        "_source" : {

          "name" : "rebound",

          "age" : 24,

          "location" : "SF",

          "province" : "广州",

          "country" : "中国",

          "xingbie" : "mela"

        }

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-fD-3moBmjOHTfOJtVLL",

        "_score" : 1.7509375,

        "_source" : {

          "name" : "assist",

          "age" : 21,

          "location" : "PF",

          "province" : "广州",

          "country" : "中国",

          "xingbie" : "famela"

        }

      }

    ]

  }

}

8,当同一个属性满足逻辑或时的查询

输入:

这里是查询属性"age"等于21或者23的数据,如果看着不舒服,我们可以点击运行按钮右侧的扳手,选择Auto indent,输入效果就会直观一些,

其中,116行固定输入"query",117行固定输入"bool",118行输入为"should",表示是逻辑或的关系,120行为"match",121行为所要查询的属性名与属性值

执行结果如下

{

  "took" : 0,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 3,

      "relation" : "eq"

    },

    "max_score" : 1.0,

    "hits" : [

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9vD-3moBmjOHTfOJtVLL",

        "_score" : 1.0,

        "_source" : {

          "name" : "points",

          "age" : 23,

          "location" : "PG",

          "province" : "江苏",

          "country" : "中国",

          "xingbie" : "mela"

        }

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-PD-3moBmjOHTfOJtVLL",

        "_score" : 1.0,

        "_source" : {

          "name" : "center",

          "age" : 23,

          "location" : "C",

          "province" : "北京",

          "country" : "中国",

          "xingbie" : "femela"

        }

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-fD-3moBmjOHTfOJtVLL",

        "_score" : 1.0,

        "_source" : {

          "name" : "assist",

          "age" : 21,

          "location" : "PF",

          "province" : "广州",

          "country" : "中国",

          "xingbie" : "famela"

        }

      }

    ]

  }

}

9,多条件查询

输入:

这里是查询属性"age"等于23,并且属性"country"为“中国”的数据,这里和上一条查询的关键区别就在于第98行由"should"改为"must",执行结果如下:

{

  "took" : 1,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 2,

      "relation" : "eq"

    },

    "max_score" : 1.1740228,

    "hits" : [

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9vD-3moBmjOHTfOJtVLL",

        "_score" : 1.1740228,

        "_source" : {

          "name" : "points",

          "age" : 23,

          "location" : "PG",

          "province" : "江苏",

          "country" : "中国",

          "xingbie" : "mela"

        }

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-PD-3moBmjOHTfOJtVLL",

        "_score" : 1.1740228,

        "_source" : {

          "name" : "center",

          "age" : 23,

          "location" : "C",

          "province" : "北京",

          "country" : "中国",

          "xingbie" : "femela"

        }

      }

    ]

  }

}

10,范围查询并进行排序

输入:

这里,151行使用"range",152行输入属性名,153行"gte"和154行"lte"表示查询属性"age"在20-25范围的数据,然后158行表示排序,160行表示排序的属性是"age",161“order”表示排序为倒序"desc",执行结果如下:

{

  "took" : 0,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 4,

      "relation" : "eq"

    },

    "max_score" : null,

    "hits" : [

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9_D-3moBmjOHTfOJtVLL",

        "_score" : null,

        "_source" : {

          "name" : "rebound",

          "age" : 24,

          "location" : "SF",

          "province" : "广州",

          "country" : "中国",

          "xingbie" : "mela"

        },

        "sort" : [

          24

        ]

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9vD-3moBmjOHTfOJtVLL",

        "_score" : null,

        "_source" : {

          "name" : "points",

          "age" : 23,

          "location" : "PG",

          "province" : "江苏",

          "country" : "中国",

          "xingbie" : "mela"

        },

        "sort" : [

          23

        ]

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-PD-3moBmjOHTfOJtVLL",

        "_score" : null,

        "_source" : {

          "name" : "center",

          "age" : 23,

          "location" : "C",

          "province" : "北京",

          "country" : "中国",

          "xingbie" : "femela"

        },

        "sort" : [

          23

        ]

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "-fD-3moBmjOHTfOJtVLL",

        "_score" : null,

        "_source" : {

          "name" : "assist",

          "age" : 21,

          "location" : "PF",

          "province" : "广州",

          "country" : "中国",

          "xingbie" : "famela"

        },

        "sort" : [

          21

        ]

      }

    ]

  }

}

11,聚合查询

输入:

使用聚合查询,格式是:170行使用"aggs",171行为所要查询的属性名,这里查询"age",173行"field"后边输入属性名,174行为范围,分别在"from"和"to"后边输入要分段的范围,这条请求实现的是统计属性"age"按照20-23,23-25,25-30划分的数据条数分别为多少,如果想要查看满足条件的数据,则将169行"size"值置为非零数,貌似应大于查询条数,具体还没查,这里是不显示满足条件的具体数据,直接置零即可,执行结果如下:

{

  "took" : 9,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 5,

      "relation" : "eq"

    },

    "max_score" : null,

    "hits" : [ ]

  },

  "aggregations" : {

    "age" : {

      "buckets" : [

        {

          "key" : "20.0-23.0",

          "from" : 20.0,

          "to" : 23.0,

          "doc_count" : 1

        },

        {

          "key" : "23.0-25.0",

          "from" : 23.0,

          "to" : 25.0,

          "doc_count" : 3

        },

        {

          "key" : "25.0-30.0",

          "from" : 25.0,

          "to" : 30.0,

          "doc_count" : 1

        }

      ]

    }

  }

}

聚合查询的另外一个示例

输入:

这条请求是查询属性"province"的统计结果,这里是统计5条数据,并显示其中2条,并在197行"field"后输入属性名,并在其后添加  .keyword,查询结果如下

{

  "took" : 0,

  "timed_out" : false,

  "_shards" : {

    "total" : 1,

    "successful" : 1,

    "skipped" : 0,

    "failed" : 0

  },

  "hits" : {

    "total" : {

      "value" : 5,

      "relation" : "eq"

    },

    "max_score" : 1.0,

    "hits" : [

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "1",

        "_score" : 1.0,

        "_source" : {

          "name" : "dunkking",

          "age" : 27,

          "location" : "SG",

          "province" : "河北",

          "country" : "中国",

          "xingbie" : "mela"

        }

      },

      {

        "_index" : "cmcc",

        "_type" : "_doc",

        "_id" : "9vD-3moBmjOHTfOJtVLL",

        "_score" : 1.0,

        "_source" : {

          "name" : "points",

          "age" : 23,

          "location" : "PG",

          "province" : "江苏",

          "country" : "中国",

          "xingbie" : "mela"

        }

      }

    ]

  },

  "aggregations" : {

    "province" : {

      "doc_count_error_upper_bound" : 0,

      "sum_other_doc_count" : 0,

      "buckets" : [

        {

          "key" : "广州",

          "doc_count" : 2

        },

        {

          "key" : "北京",

          "doc_count" : 1

        },

        {

          "key" : "江苏",

          "doc_count" : 1

        },

        {

          "key" : "河北",

          "doc_count" : 1

        }

      ]

    }

  }

}

暂时写这么多,刚开始学,很多不熟悉的,后续有时间慢慢补充

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_36005594/article/details/90449781

智能推荐

在移动硬盘中安装win10和macos双系统-程序员宅基地

文章浏览阅读1.1k次,点赞22次,收藏23次。本文通过在SSD移动硬盘中安装win10和macos双系统,实现操作系统随身携带小慢哥的原创文章,欢迎转载目录 目标 准备工作 Step1. 清空分区,转换为GPT Step2. 安装win10 Step3. 压缩win10分区容量 Step4. 创建2个分区 Step5. 将bootcamp驱动放置到exFAT分区中 Step6. 将macos分区..._mac移动硬盘装双机系统

TransmittableThreadLocal解决线程池本地变量问题,原来我一直理解错了-程序员宅基地

文章浏览阅读14次。theme: cyanosishighlight: a11y-dark前言自从上次TransmittableThreadLocal框架作者评论我之后,我重新去看了下源码,终于在这个周天,我才把TransmittableThreadLocal解决线程池变量丢失的问题搞明白,而且发现我之前的认识有问题,久久孩子我之前是觉得,InheritableThreadLocal解决父子线...

Exchange 2016部署实施案例篇-03.Exchange部署篇(上)-程序员宅基地

文章浏览阅读366次。  距离上一篇《Exchange 2016部署实施案例篇-02.活动目录部署篇》博文更新已经过去快一周了,最近一直在忙项目上的事情和软考,整的真心有点身心俱疲啊,最近看了下上一篇博文不知道为什么访问量一直上不去,真心有点心寒啊。希望大家能多多提出宝贵意见,看看如何能让访问量上去。  废话就不多说了,开始今天的话题,Exchange的部署篇,我原定计划是把部署篇分上、下2个篇幅来写的,但最近发现好..._解决exchange2016部署先决条件

[译]使用MVI打造响应式APP(四):独立性UI组件-程序员宅基地

文章浏览阅读130次。原文:REACTIVE APPS WITH MODEL-VIEW-INTENT - PART4 - INDEPENDENT UI COMPONENTS作者:Hannes Dorfmann译者:却把清梅嗅这篇博客中,我们将针对如何 如何构建独立组件 进行探讨,我将阐述为什么在我看来 父子关系会导致坏味道的代码,以及为何这种关系是没有意义的。有这样一个问题时不时涌现在我的脑海中—— MVI...

tensorflow经过卷积及池化层后特征图的大小计算_池化层后特征图尺寸-程序员宅基地

文章浏览阅读662次。https://blog.csdn.net/qq_32466233/article/details/81075288_池化层后特征图尺寸

使用vue-echarts异步数据加载,不能重新渲染页面问题。_vue echart初始化渲染过后无法重新渲染-程序员宅基地

文章浏览阅读3.3k次。一、问题说明我是用的是官方示例中的这个饼状图。结果在应用到项目中后发现利用axios请求到的数据无法渲染到页面中去。并且其中value值已经改变。二、解决办法用$set改变value的值,并且重新绘制一遍表格。$set是全局 Vue.set 的别名。$set用法:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为..._vue echart初始化渲染过后无法重新渲染

随便推点

Dev-C++ “to_string is not a member of std” error- 已解决_devc++ [error] 'to_string' is not a member of 'std-程序员宅基地

文章浏览阅读3.7k次。今天在用Dev-C++ 的时候遇到一个错误“to_string is not a member of std” error解决方法:设置编译语言为ISO C++11 在菜单栏的Tool -> Compiler Option_devc++ [error] 'to_string' is not a member of 'std

python的10款最好的IDE_pydea兼容的-程序员宅基地

文章浏览阅读1.1k次。Python 非常易学,强大的编程语言。Python 包括高效高级的数据结构,提供简单且高效的面向对象编程。Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE)。这些 Python 开发工具帮助开发者加快使用 Python 开发的速度,提高效率。高效的代码编辑器或者 IDE 应该会提供插件,工具等能帮助开发者高效开发的特性。这篇文章收集了一些对开发者非常有_pydea兼容的

python translate函数_Python:内置函数makestrans()、translate()-程序员宅基地

文章浏览阅读287次。一、makestrans()格式: str.maketrans(intab,outtab);功能:用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。注:两个字符串的长度必须相同,为一一对应的关系。注:Python3.6中已经没有string.maketrans()了,取而代之的是内建函数:bytearray...._python maketrance

Set集合详解-程序员宅基地

文章浏览阅读5.7k次,点赞9次,收藏14次。set集合的简介,它的特点和遍历方式。介绍了HashSet重复元素存储底层原理,LinkedHashSet,TreeSet排序方法,SortedSet获取集合值的方法_set集合

详解智慧城市排水管理系统整体方案_污水处理智慧管理系统案列-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏29次。随着城市规模的不断扩大和现代化程度的日益提高,城市排水管网越来越复杂,一些城市相继发生大雨内涝、管线泄漏爆炸、路面塌陷等事件,严重影响了人民群众生命财产安全和城市运行秩序。因此,摸清排水管网设施资产家底、建立排水管网地理信息系统,用现代化的技术手段对排水系统进行科学管理显得迫在眉睫。以时空信息为基础,充分利用感知监测网、物联网、云计算、移动互联网、工业控制和水力模型等新一代信息技术,全方位感..._污水处理智慧管理系统案列

详解NTFS文件系统_ntfs文件系统中,磁盘上的所有数据包括源文件都是以什么的形式存储-程序员宅基地

文章浏览阅读5.7k次,点赞4次,收藏13次。上篇在详解FAT32文件系统中介绍了FAT32文件系统存储数据的原理,这篇就来介绍下NTFS文件系统。NTFS、用过Windows系统的人都知道,它是一个很强大的文件系统,支持的功能很多,存储的原理也很复杂。目前绝大多数Windows用户都是使用NTFS文件系统,它主要以安全性和稳定性而闻名,下面是它的一些主要特点。安全性高:NTFS支持基于文件或目录的ACL,并且支持加密文件系统(E_ntfs文件系统中,磁盘上的所有数据包括源文件都是以什么的形式存储

推荐文章

热门文章

相关标签