手记

【学习打卡】第2天 ES入门

第一模块

课程名称:ElasticSearch入门

章节名称:1-1 ~ 4-1

讲师姓名:瓦力老师


第二模块

课程内容概述:

首先介绍Elastic Search的由来,应用场景,课程需要的前置知识,环境要求,介绍课程安排;随后介绍了单节点的安装方式和插件的安装,最后引入了分布式下的安装方式;结合Head插件讲解集群、节点的概念,索引及其重要性,分片和备份属于索引的附属概念。


第三模块

学习心得:

通过课程《ElasticSearch入门》使我对ES有了基本概念,知道了ES的使用场景、ELK技术栈等,扩宽了技术视野,能从一个更高的视角去看待问题。下面附上学习笔记:

实现站内收索的技术栈:


数据分析神器:ELK


图片上传服务:七牛云 + webUpload(百度开源的一个文件上传组件)


互联网目前流行的“免注册登录”机制:手机短信登录并自动注册


一个简单的架构图:


======================

ES入门:


1-1 简介:


数据量级:

Byte < KB < MB < GB  < TB < PB < EB < ZB <YB <DB <NB  


应用场景:


一线公司应用举例:


所以,ES在大数据和互联网产业中具有举足轻重的重要性


ES中的一些基础概念【重要】:

1.集群和节点的概念:


2.索引(一个“条线带”):

含有相同属性的文档(数据)的集合


3.类型(线条带下的一个“条线”):

索引下定义一个或多个类型,文档必然属于一个类型


4.文档:

可以被索引的最小单位


图解【索引】、【类型】、【文档】的关系:


2-1 本历史和选择:

版本:1.x -> 2.x -> 5.x

版本选择:5.x


2-2 ElasticSearch单实例安装:

ELK技术栈:


ES的核心文件:

ES默认使用9200端口


2-3 插件安装:

注意:

在centOS上安装ES会有些问题,具体见:


安装ES的实用插件——Head:

对ES的返回结果进行了UI界面的封装,提供了更友好的数据展示界面;

因为ES返回的结果是JSON结构,直接看JSON结构不是很友好。


安装head插件:


注意:ES和head是两个不同的进程,相互访问存在跨域问题。

解决:做”跨域访问的配置修改“从而解决跨域访问的问题。


配置好后的head插件页面:



 2-4 分布式安装ES:

分布式安装就是“集群式安装”,集群式安装就存在主节点和随从节点。


如何成为“主节点”?答:修改该节点的配置

eg:



安装从节点的ES实例......

设置从节点的配置文件:


效果:


同理在加一个从节点......

效果:


 2-5 ES的基本概念:

  • 集群和节点

  • 索引:含有相同属性的文档集合(索引命名规范:英文字母小写,不含下划线,一个索引名字就是一个索引)

  • 类型:索引可以定义一个或多个类型,文档必须属于一个类型

  • 文档:可以被索引的基本数据单位

小结:

索引 相当于 sql中的DataBase(数据库)

类型 相当于 sql中的table

文档 相当于 sql中的一行记录


和索引相关的高阶概念:

  • 分片:每个索引都有多个分片,每个分片就是一个Lucene索引

  • 备份:拷贝一份分片就完成了分片的备份


分片的好处:分担数据检索的压力,且分片允许用户进行水平扩展和分布式操作,提高搜索的效率。


备份的好处:当一个主分片失败或出现问题时就可以启用备份的分片,从而提高ES的可用性,另外备份的分片支持搜索操作,进一步分担搜索的压力。


ES创建索引时默认创建5个分片,1个备份。分片的数量只能在创建索引的时候指定,后期是无法修改的!!!而备份可以支持动态修改!!!


所有节点都是通过集群的名字来加入一个集群的,所以集群的名字很重要!!!


 2-6 ES的基本用法:

API基本格式:


http://<ip>:<port>/<索引>/<类型>/<文档id>


常用HTTP动词:


GET/PUT/POST/DELETE


通过head插件创建索引:

......

索引分类:

  • 非结构化创建

  • 结构化创建判断是结构化还是非结构化创建:


结构化索引,eg:

可见mappings是有值的


补充:

通过head写JSON数据是比较麻烦的

解决:通过postman写json结构数据


第四模块

0人推荐
随时随地看视频
慕课网APP