Kibana的简单安装详细步骤、以及如何简单的使用Kibana操作ES

目录

什么是Kibana

KIbana的安装与启动

下载

安装

修改配置

启动

测试

搭配kibana使用ES

index管理

mapping管理

更新mapping

删除mapping

document管理

查询

删除Document



什么是Kibana

Kibana是ES提供的一个基于Node.js的管理控制台, 可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。

kibana可以用来编辑请求语句的,方便学习操作es的语法。有时在进行编写程序,写到查询语句时,往往我会使用kibana进行书写,然后再粘贴到程序中。(不容易出错)

KIbana的安装与启动

下载

ElasticSearch官网:Elasticsearch官网

链接: https://pan.baidu.com/s/1ERcZk72Nz0ANddT0VPCx8A 提取码: rynb

安装

在window中安装Kibana很方便,解压即安装

修改配置

 修改config/kibana.yml配置:

server.port: 5601
server.host: "0.0.0.0" #允许来自远程用户的连接
elasticsearch.url: http://192.168.222.136:9200 #Elasticsearch实例的URL 

启动

./bin/kibana

测试

浏览器访问local host:5601

 

搭配kibana使用ES

index管理

number_of_shards - 表示一个索引库将拆分成多片分别存储不同的结点,提高了ES的处理能力

number_of_replicas - 是为每个 primary shard分配的replica shard数,提高了ES的可用性,如果只有一台机器,设置为0

注意:索引一旦创建,primary shard 数量不可变化,可以改变replica shard 数量。

//新建
PUT /java06
{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1
  }
}

//修改
PUT /java06/_settings
{
  "number_of_replicas" : 1
}

//删除
DELETE /java06[, other_index]

mapping管理

映射,创建映射就是向索引库中创建field(类型、是否索引、是否存储等特性)的过程,下边是document和field与关系数据库的概念的类比:

elasticsearch关系数据库
index(索引库)database(数据库)
type(类型)table(表)
document(文档)row(记录)
field(域)column(字段)
//创建映射
POST /java06/course/_mapping
{
  "properties": {
     "name": {
        "type": "text"
     },
     "description": {
        "type": "text"
     },
     "studymodel": {
        "type": "keyword"
     }
  }
}

//获取
GET /java06/course/_mapping

更新mapping

映射创建成功可以添加新字段,已有字段不允许更新。

删除mapping

通过删除索引来删除映射。

document管理

//新增
POST /java06/course/1
{
  "name":"python从入门到放弃",
  "description":"人生苦短,我用Python",
  "studymodel":"201002"
}

POST /java06/course
{
  "name":".net从入门到放弃",
  "description":".net程序员谁都不服",
  "studymodel":"201003"
}

//修改
PUT /java06/course/2
{
  "name":"php从入门到放弃",
  "description":"php是世界上最好的语言",
  "studymodel":"201001"
}

//结果
{
  "_index": "test_index", 新增的 document 在什么 index 中,
  "_type": "my_type", 新增的 document 在 index 中的哪一个 type 中。
  "_id": "1", 指定的 id 是多少
  "_version": 1, document 的版本是多少,版本从 1 开始递增,每次写操作都会+1
  "result": "created", 本次操作的结果,created 创建,updated 修改,deleted 删除
  "_shards": { 分片信息
      "total": 2, 分片数量只提示 primary shard
      "successful": 1, 数据 document 一定只存放在 index 中的某一个 primary shard 中
      "failed": 0
  },
  "_seq_no": 0, 
  "_primary_term": 1
}

查询

语法:
​GET /index_name/type_name/id 
或
​GET /index_name/type_name/_search?q=field_name:field_value
如:根据课程id查询文档
GET /java06/course/1
如:查询所有记录
GET /java06/course/_search
如:查询名称中包括php 关键字的的记录
GET /java06/course/_search?q=name:门
结果:
{
  "took": 1, # 执行的时长。单位毫秒
  "timed_out": false, # 是否超时
  "_shards": { # shard 相关数据
    "total": 1, # 总计多少个 shard
    "successful": 1, # 成功返回结果的 shard 数量
    "skipped": 0,
    "failed": 0
  },
  "hits": { # 搜索结果相关数据
    "total": 3, # 总计多少数据,符合搜索条件的数据数量
    "max_score": 1, # 最大相关度分数,和搜索条件的匹配度
    "hits": [# 具体的搜索结果
      {
        "_index": "java06",# 索引名称
        "_type": "course", # 类型名称
        "_id": "1",# id 值
        "_score": 1, # 匹配度分数,本条数据匹配度分数
        "_source": { # 具体的数据内容
          "name": "php从入门到放弃",
          "description": "php是世界上最好的语言",
          "studymodel": "201001"
        }, {
			"_index": "java06",
			"_type": "course",
			"_id": "2",
			"_score": 0.13353139,
			"_source": {
				"name": "php从入门到放弃",
				"description": "php是世界上最好的语言",
				"studymodel": "201001"
			}
		}, {
			"_index": "java06",
			"_type": "course",
			"_id": "6ljFCnIBp91f7uS8FkjS",
			"_score": 0.13353139,
			"_source": {
				"name": ".net从入门到放弃",
				"description": ".net程序员谁都不服",
				"studymodel": "201003"
			}
		}
	 ]
  }
}

删除Document

//删除
DELETE /java06/course/3

//结果
{
  "_index": "java06",
  "_type": "course",
  "_id": "2",
  "_version": 2,
  "result": "deleted",
  "_shards": {
    "total": 1,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 3,
  "_primary_term": 1
}


版权声明:本文为weixin_66479402原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。