Elasticsearch 实战 - 第二讲:kibana 安装以及ES 的概念名词

Elasticsearch 实战系列文章:

1:Elasticsearch 实战 - 第一讲:简介以及安装
2:Elasticsearch 实战 - 第二讲:kibana 安装以及ES 的概念名词
3:Elasticsearch 实战 - 第三讲:ES 基本操作、批处理
4:Elasticsearch 实战 - 第四讲:ES 高级查询
5:Elasticsearch 实战 - 第五讲:Java 集成 Spring Data Elasticsearch(一):简介及环境搭建
6:Elasticsearch 实战 - 第六讲:ES 项目实战(二):基本操作、批处理、高级查询

一、安装head插件

Elasticsearch默认的客户端工具是命令行形式的,操作起来不方便,也不直观看到数据的展示,所以我们需要去安装一个可视化插件,但是这些插件都是基于node.js开发的,elasticsearch-head插件能比较直观的展示服务器中的数据。

1. 安装Elasticsearch head 插件

在谷歌的应用商店中找到Elasticsearch head 插件并进行安装,
这个时候在浏览器右上角可以看到在这里插入图片描述图标,点进入则进入到了Elasticsearch 图形化可视界面(如下图)。但是关是这样还不行,在这里面写es脚本是没有提示的,不方便我们日常操作,所以就引入了kibana 工具。
在这里插入图片描述

2.安装Kibana

该软件也是解压即用的工具,用于管理和监控Elasticsearch的运作,同时内部包含了客户端工具,支持RESTFul操作Elasticsearch。解压后运行bin/kibana.bat,看到启动成功的端口号即可以使用浏览器来使用了。
注意:kibana 版本和es版本最好保持一致。

官网下载地址:
https://artifacts.elastic.co/downloads/kibana/kibana-6.5.4-windows-x86_64.zip
本人为大家提供的百度网盘下载地址: https://pan.baidu.com/s/1gpOXjKxQlTOZu30ErpVgHg
下载完成之后解压即可。运行bin目录下的kibana.bat启动服务,出现一下界面则说明启动成功了。
在这里插入图片描述
浏览器输入:http://localhost:5601 则可以打开kibana 界面。

二、概念名词解析

1.数据存储图

在这里插入图片描述
注意:从Elasticsearch6开始一个索引里面只能有一个类型,后续计划删除类型这个概念,从ES6开始一般让索引名称和类型名称一致。

2.主要组件

  • 索引
    ES将数据存储于一个或多个索引中,索引是具有类似特性的文档的集合。类比传统的关系型数据库领域来说,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema)。索引由其名称(必须为全小写字符)进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。一个ES集群中可以按需创建任意数目的索引。
  • 类型
    类型是索引内部的逻辑分区(category/partition),然而其意义完全取决于用户需求。因此,一个索引内部可定义一个或多个类型(type)。一般来说,类型就是为那些拥有相同的域的文档做的预定义。例如,在索引中,可以定义一个用于存储用户数据的类型,一个存储日志数据的类型,以及一个存储评论数据的类型。类比传统的关系型数据库领域来说,类型相当于表。
  • 映射
    Mapping,就是对索引库中索引的字段名称及其数据类型进行定义,类似于mysql中的表结构信息。不过es的mapping比数据库灵活很多,它可以动态识别字段。一般不需要指定mapping都可以,因为es会自动根据数据格式识别它的类型,如果你需要对某些字段添加特殊属性(如:定义使用其它分词器、是否分词、是否存储
    等),就必须手动添加mapping。
    需要注意的是映射是不可修改的,一旦确定就不允许改动,在使用自动识别功能时,会以第一个存入的文档为参考来建立映射,后面存入的文档也必须符合该映射才能存入。
  • 文档
    文档是Lucene索引和搜索的原子单位,它是包含了一个或多个域的容器,基于JSON格式进行表示。文档由一个或多个域组成,每个域拥有一个名字及一个或多个值,有多个值的域通常称为多值域。每个文档可以存储不同的域集,但同一类型下的文档至应该有某种程度上的相似之处。

3.分片和副本

ES的分片(shard)机制可将一个索引内部的数据分布地存储于多个节点,它通过将一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,这每一个物理的Lucene索引称为一个分片(shard)。每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储。创建索引时,用户可指定其分片的数量,默认数量为5个。
Shard有两种类型:primary和replica,即主shard及副本shard。Primary shard用于文档存储,每个新的索引会自动创建5个Primary shard,当然此数量可在索引创建之前通过配置自行定义,不过,一旦创建完成,其Primaryshard的数量将不可更改。Replica shard是Primary Shard的副本,用于冗余数据及提高搜索性能。每个Primaryshard默认配置了一个Replica shard,但也可以配置多个,且其数量可动态更改。ES会根据需要自动增加或减少这些Replica shard的数量。
分片和副本的目的就是提高系统的稳定性,避免把东西放在一个篮子中。

4.分词器

把文本内容按照标准进行切分,默认的是standard,该分词器按照单词切分,内容转变为小写,去掉标点,遇到每个中文字符都当成1个单词处理,这种默认的分词器插件不能很好的支持中文分词。在国内一般都是使用开源的中文分词器插件(ik)。

安装ik分词器

ik分词器的版本要和es的版本一模一样。不然启动的时候会报错。
6.5.4 版本ik分词器下载地址:
https://pan.baidu.com/s/1MzSXkK5Q6K62ER6TrDw8gQ
其他版本的ik分词器 地址如下:
https://github.com/medcl/elasticsearch-analysis-ik/tree/master
直接把压缩文件中的内容解压,然后放在elasticsearch/plugins下,然后重启即可。
ik 分词器中有两种分词策略即ik_smart:粗力度分词、ik_max_word:细力度分词。他们之间的区别就是粗力度分词不会对一个词重复分词,而细粒度分词就会。
注意:要想使用ik分词器时,在数据转存进es是需要为字段指定映射,使用ik分词器进行分词,具体建立es 映射请查看下文。

查询时用法如下:

GET /shop_product/_analyze 
{	 "text":"英特尔酷睿i7处理器",
	 "analyzer":"ik_smart" 
}
GET /shop_product/_analyze 
{ 	"text":"英特尔酷睿i7处理器", 
	"analyzer":"ik_max_word" 
	}

5.倒排索引

倒排索引的核心思想是通过内容找文章,是es之所以搜索效率高的原因所在。 其工作原理是数据一进入es的时候就根据设定的分词器规则对文档进行分词处理。在每个分词后面表明出现在哪些文档中。然后在查询的时候直接去匹配分词,根据分词去查找文档。
如下图 :在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华星详谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值