第一模块
课程名称: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结构数据
第四模块