1. kibana 概述

  • kibana: 针对 ES 的开源分析可视化工具,与存储在 ES 的数据进行交互
  • 索引 index:一条相似文档的集合,集合中存有很多条数据(只可以用小写字母,索引没有修改操作)
  • 映射 mapping: 决定索引里文档所存储字段以及字段的类型
  • 文档 document: 索引中的一条条数据,一条文档是可被索引的最小单元,ES 中文档采用轻量级 Json 格式来表示

ES 是RESTful 风格的系统,所以我们需要先掌握RESTful 的四个关键词:PUT(修改),POST(添加),DELETE(删除),GET(查询)。其中在ES里面PUTPOST的界限并不是很分明,有时候PUT也作为添加。
image.png
不设置文档类型时,默认文档类型为_doc

2. kibana 基础操作

2.1 索引的创建查看和删除

查看索引

  1. 查看es中的索引:
  2. GET /_cat/indices?v

image.png

创建索引

  1. 创建索引:
  2. PUT /索引名
  3. PUT /products
  4. // 创建索引并指定索引的分片信息
  5. PUT /products1
  6. {
  7. "settings": {
  8. "number_of_shards": 1 #指定主分片数量
  9. , "number_of_replicas": 1 #指定副本分片数量
  10. }
  11. }
  12. ES中索引健康状态,red(索引不可用), yellow(索引可用,存在风险), green(健康)

image.png

删除索引

  1. DELETE /products1

image.png

2.2 映射

创建索引的时候,一并创建映射

  1. // 常见类型:
  2. 字符串类型:keyword(关键词关键字)、text(一段文本)
  3. 数字类型:longintegershortbytedoublefloathalf floatscaled float
  4. 小数类型:float double
  5. 布尔类型:boolean
  6. 日期类型:date
  7. 二进制类型:binary
  1. PUT /products
  2. {
  3. "settings": {
  4. "number_of_replicas": 1,
  5. "number_of_shards": 1
  6. },
  7. "mappings": {
  8. "properties": {
  9. "id":{
  10. "type":"integer"
  11. },
  12. "title":{
  13. "type":"keyword"
  14. },
  15. "price":{
  16. "type":"double"
  17. },
  18. "create_at":{
  19. "type":"date"
  20. },
  21. "description":{
  22. "type":"text"
  23. }
  24. }
  25. }
  26. }

image.png

查询索引的映射信息

  1. GET /索引名/_mapping
  2. GET /products/_mapping

image.png

2.3 文档操作:Json 格式

添加文档

  1. POST /products/_doc/1
  2. {
  3. "id":1,
  4. "title":"薯条",
  5. "price":"10.5",
  6. "create_at":"2022-3-12",
  7. "description":"薯条真好吃啊"
  8. }
  9. POST /products/_doc/
  10. {
  11. "title":"辣条",
  12. "price":"9.5",
  13. "create_at":"2022-3-12",
  14. "description":"辣条真好吃啊"
  15. }

image.png

查询文档

  1. 手动指定文档id查询:
  2. GET /products/_doc/1
  3. GET /products/_doc/JxDXeX8BOmAdT3sErqxz

删除文档

  1. DELETE /products/_doc/
  2. DELETE /products/_doc/JxDXeX8BOmAdT3sErqxz

更新文档

  1. // 原文档删除,重新创建
  2. PUT /products/_doc/1
  3. {
  4. "title":"薯条子"
  5. }
  6. // 指定文档字段更新,不重新创建新的文档
  7. POST /products/_doc/1/_update
  8. {
  9. "doc":{
  10. "price":"5.8",
  11. "title":"薯条"
  12. }
  13. }

资料