IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> elasticsearch V1.0 -> 正文阅读

[大数据]elasticsearch V1.0


与你相识


博主介绍:

– 本人是普通大学生一枚,每天钻研计算机技能,CSDN主要分享一些技术内容,因我常常去寻找资料,不经常能找到合适的,精品的,全面的内容,导致我花费了大量的时间,所以会将摸索的内容全面细致记录下来。另外,我更多关于管理,生活的思考会在简书中发布,如果你想了解我对生活有哪些反思,探索,以及对管理或为人处世经验的总结,我也欢迎你来找我。

– 目前的学习专注于Go语言,辅学算法,前端领域。也会分享一些校内课程的学习,例如数据结构,计算机组成原理等等,如果你喜欢我的风格,请关注我,我们一起成长。



Elasticsearch

elasticsearch 读音:[??l?st?k] [s??t?]

现在elasticsearch更新到7.x的版本了,它与6.x的差别很大,很多的api都不一样了,而官方针对6.x和7.x也有不同的文档表示。

elasticsearch在学习什么?

我们在程序中往往需要用到查询功能,比如全文搜索,模糊搜索等,在传统的解决方案中,主要是使用SQL的like关键字来进行模糊查询,但是如果数据量太大了的话,这种方式的效率十分的慢。

当初的解决方案是给sql字段加上索引,但是这个虽然会把速度再提上一个档次,但是还是达不到一个大数据的要求。

这个时候我们就有必要去学习一下分布式搜索引擎了,elasticsearch就是做这个事情的,它就做一件事——搜索

就拿下图来讲,如果我们要用SQL来做这面这些复杂的搜索,它的实现逻辑就会是否的复杂,而如果使用elasticsearch就会简单很多。

image-20210923164619052

Elasticsearch是基于Lucene这个工具包做了一些封装和增强,它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

除了elasticsearch,Solr也可以干这件事情,所以我们在学习的过程中,也会对比和参考着进行学习。

建议在大数据了的情况下都使用ES来完成搜索功能。

历史

这个部分其实还有关于Lucene,Elasticsearch,Solr三者的介绍,以及ES和Solr的差别等。 但是我感觉用处不是很大,等我对它们各个使用的概念比较清晰的时候,再去了解这些背后的人文故事,可能更能感受其温度。image-20210923221650734

关于ES和Solr的选择:

截图一下视频中的片段,简单的了解一下。

image-20210923222738776

什么是ELK

ELK是Elasticsearch、Logstash、Kibana三大开源框架的首字母大写简称。

Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架,它的搜索能力很强大,而Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式的数据,经过过滤之后再输出到不同目的地。 Kibana可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。

它们三个合到一起常常被说是日志分析架构技术栈,但实际上ELK不仅仅适用于日志分析,还可以支持其它任何数据分析和收集的场景。

使用

今天我们在Windows环境下来试用一下,官方网站下载客户端工具巨慢,所以我们使用华为云的镜像下载。

安装

Elasticsearch安装

然后我们会下载下来三个压缩包,首先解压ElasticSearch

熟悉目录:image-20210925200147404

运行:

点击elasticsearch.bat文件运行。

image-20210925200231587

运行之后我们可以得知它的默认端口是9200,所以我们直接访问,进行访问测试。

image-20210925200410580

安装可视化界面

可视化界面有很多的插件,插件用的最多的是head插件,下载下来之后,可以通过github的read me文件来看elasticsearch-head如何启动。

image-20210925200853966

解决elasticsearch和es-head之间的通信跨域问题

我们需要修改elasticsearch.yml文件,在最下面写上允许跨域的配置,然后重新启动一下elasticsearch即可。

image-20210925201021989

此时我们去es-head的图形化界面中,就会有下面这个样子。我们一般只关心前三个选项,概览就是所有的库信息,索引就是看有多少个索引库,所有的数据在数据浏览里。

后面的查询我们到Kibana中做。

image-20210925201154325

Kibana安装

去Kibana官网进行安装即可。

使用

在bin目录下点击kibana.bat直接运行即可。可以发现其默认端口为5601,我们直接进入即可。

image-20210925202708856

汉化

默认的测试页面是全英文的,我们需要对其进行汉化,Kibana本身已经支持了汉化,只是需要我们自己去配置文件中进行更改。我们找到其配置文件

image-20210925203134132

可以看到它默认的是英文,我们在这里复制一行,改成中文即可。

image-20210925203158547

Es使用

types在8.0会被彻底取消。 了解即可。

image-20210925203814663

IK分词器

它的作用是把一段信息划分为一个个的关键字,在搜索的时候就会把这个进行分词,也会把索引库中的数据进行分词,然后进行一个匹配的操作,默认的中文分词是把每一个字都看做一个词,比如“你好”,会分成“你”,“好”,这显然是有问题的,所以我们需要安装中文分词器ik来解决这个问题。

IK提供了两个分词算法:ik_smartik_max_word。 第一个为最少切分,第二个为最细粒度划分。

安装

我们只需要下载好IK分词器之后,解压到elasticsearch的plugins文件夹下,新建一个ik文件夹,然后放进去,重启elasticsearch就可以了,在elasticsearch重启的时候,可以看到ik plugins加载的过程。

也可以通过elasticsearch-plugin命令来查看elasticsearch安装的插件。

image-20210925205213470

使用

ik_smart 是最少切分,它就是只切一次就可以了,原来是什么样子,现在还是什么样子。

image-20210925211933292

ik_max_word是最细粒度划分,它就是穷尽的的信息的分词可能,原理是按照内部的一个字典来进行拆分的。

image-20210925212025234

它会把它认为的词给拆分出来,拆分的方式是通过config文件下的各种dic文件,里面存了前缀后缀等字典文件,而这些默认的在有些时候是远远不足以我们的使用的,比如我想在网络上搜索我的名字——雅各布,但是它会给我拆分为“雅”,“各”,“布”,也就是对于IK分词器来说,它认为这三个字就是拆分开的,而我们想要把他们合到一起,我们就需要告诉IK分词器,这是一个词,这个时候就需要我们写一个自己的字典了。

image-20210925212631170

你可以创建自己的字典文件,比如里面写上了“雅各布”,这个时候ik就会认识“雅各布”这个词语了,保存之后,还需要在IK配置文件中配置一下用户的扩展字典的位置。

然后重启一下es即可。

image-20210925212917407

REST风格

image-20210925214718796

put用来创建一个索引,不仅是可以在这里发送请求,postman或者各种请求的工具都是可以发送请求来创建的。

image-20210925214812806

通过GET来获取具体索引的信息

image-20210925215359295

我们可以通过一些关键字来进行一些模糊匹配,以及右边的结果之中,_score表示了匹配度,version表示被修改的次数。

image-20210925220118784

我们可以在get中使用各种参数和api来完成我们的需求,然后右边会根据score的权重来进行排序。

image-20210925220412833

参考资料

总结

由于时间不太够,所以用四倍速过了一遍视频,目前脑子里只是知道ELK是干什么的,然后怎么安装和解压,以及一些使用方式。

等到以后如何用到es的时候,需要再去看一遍文档。


欢迎评论区讨论,或指出问题。 如果觉得写的不错,欢迎点赞,转发,收藏。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:14:50  更:2021-09-26 10:16:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:25:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码