Elastic Stack:Kibana的安装和使用

什么是Kibana?

在这里插入图片描述

Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等,Kibana还提供了操作Elasticsearch索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习Elasticsearch的语法。

安装

Kibana依赖于node,安装kibana前请安装nodejs。
nodejs下载地址:https://nodejs.org/en/download/
Kibana官网地址:https://www.elastic.co/cn/kibana

配置运行

配置

进入安装目录下的config目录,修改kibana.yml文件:

修改elasticsearch服务器的地址:

elasticsearch.url: “http://192.168.130.128:9200”

运行
进入安装目录下的bin目录:

在这里插入图片描述
kibana的监听端口是5601
在这里插入图片描述

我们访问:http://127.0.0.1:5601
在这里插入图片描述

控制台

选择左侧的DevTools菜单,即可进入控制台页面:
在这里插入图片描述

在页面右侧,我们就可以输入请求,访问Elasticsearch了。
kibana的控制台,可以对http请求进行简化

使用kibana创建索引

在这里插入图片描述

查看索引设置

Get请求可以帮我们查看索引信息,格式:

GET /索引库名
删除索引

删除索引使用DELETE请求

DELETE /索引库名
映射配置

索引有了,接下来肯定是添加数据。但是,在添加数据之前必须定义映射。

什么是映射?

映射是定义文档的过程,文档包含哪些字段,这些字段是否保存,是否索引,是否分词等

只有配置清楚,Elasticsearch才会帮我们进行索引库的创建(不一定)

创建映射字段

请求方式依然是PUT

PUT /索引库名/_mapping/类型名称
{
  "properties": {
    "字段名": {
      "type": "类型",
      "index": true,
      "store": true,
      "analyzer": "分词器"
    }
  }
}
  • 类型名称:就是前面将的type的概念,类似于数据库中的不同表
    字段名:任意填写,可以指定许多属性。
  • type:类型,可以是text、long、short、date、integer、object等
  • index:是否索引,默认为true
  • store:是否存储,默认为false
  • analyzer:分词器,这里的ik_max_word即使用ik分词器
PUT test/_mapping/goods
{
  "properties": {
    "title": {
      "type": "text",
      "analyzer": "ik_max_word"
    },
    "images": {
      "type": "keyword",
      "index": "false"
    },
    "price": {
      "type": "float"
    }
  }
}

在这里插入图片描述

查看映射关系
GET /索引库名/_mapping
新增数据

随机生成id

通过POST请求,可以向一个已经存在的索引库中添加数据。

POST /索引库名/类型名
{
    "key":"value"
}

示例

POST /test/goods/
{
    "title":"华为p8手机",
    "images":"http://image.xiaomi.com/f1few2rdsq479g122.jpg",
    "price":3800.00
}

在这里插入图片描述
通过kibana查看数据:

GET /test/_search
{
    "query":{
        "match_all": {}
    }
}

在这里插入图片描述

  • _source:源文档信息,所有的数据都在里面。
  • _id:这条文档的唯一标示,与文档自己的id字段没有关联

自定义id
如果我们想要自己新增的时候指定id,可以这么做:

POST /test/goods/2
{
	.....
}
修改数据

把刚才新增的请求方式改为PUT,就是修改了。不过修改必须指定id,

  • id对应文档存在,则修改
  • id对应文档不存在,则新增

比如,我们把id为3的数据进行修改:

PUT /test/goods/3
{
    "title":"苹果手机",
    "images":"http://image.apple.com/fsd564werds.jpg",
    "price":6000.00,
    "stock": 100,
    "saleable":true
}
删除数据

删除使用DELETE请求,同样,需要根据id进行删除:

DELETE /索引库名/类型名/id值
查询所有(match_all)
GET /heima/_search
{
    "query":{
        "match_all": {}
    }
}
  • query:代表查询对象
  • match_all:代表查询所有
匹配查询(match)
  • or关系

match类型查询,会把查询条件进行分词,然后进行查询,多个词条之间是or的关系

GET /test/_search
{
    "query":{
        "match":{
            "title":"小米电视"
        }
    }
}

不仅会查询到小米,而且与电视相关的都会查询到,多个词之间是or的关系。

在这里插入图片描述

  • and关系

某些情况下,我们需要更精确查找,我们希望这个关系变成and,可以这样做:

GET /test/_search
{
    "query":{
        "match": {
          "title": {
            "query": "小米电视",
            "operator": "and"
          }
        }
    }
}
多字段查询(multi_match)

multi_matchmatch类似,不同的是它可以在多个字段中查询

GET /test/_search
{
    "query":{
        "multi_match": {
            "query":    "小米",
            "fields":   [ "title", "subtitle" ]
        }
	}
}

更多查询请阅读官方文档。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值