1. 什么是ES
ES是一种开源的分布式搜索引擎,可以实现快速存储、搜索、分析大量数据。支持结构化查询和全文检索等多种方式
2. ES的实际用途
1. 全文搜索和信息检索
2. 日志分析,例如埋点分析
3. 监控和指标分析,网络流量,服务器性能等
4. 内容推荐,算法推荐客户想要的内容
3. ES的数据存储方式是什么
ES通过倒序进行数据排列,类似字典,将数据分开,查找可以先查看旁首,再通过索引查看其他办法。
可以快速检索,实现全文查找
ES排序的索引存储在内存中,数据存储在磁盘
4. ES的数据分片是如何实现
ES将数据进行分片存储,每个独立的分片都有自己的索引,当查找数据时,
属于某个数据的索引会合并返回全部的数据。从而达到多节点分布式存储
5. ES的聚合操作主要有以下几种
avg sum count min max
6. ES集群怎么工作
ES集群都是独立的进程,每个集群启动的时候会自动加入到集群中,集群由一个master管理和调度
Master节点负责维护集群状态、节点状态和分片状态等信息。
7. ES的数据备份和恢复如何实现
1. 通过快照:ES的数据存储在快照里面,快照是对ES索引和分片的备份。
2. 通过api:ES通过api将json数据导出,可以进行编辑后重新导入
3. 通过副本:ES为了提高高可用性,会把分片 复制出来现成副本,如果主片出现问题,可以使用副本
8. ES核心部件
1. 索引
存放数据的索引
2. 映射
mapping定义了每个字段的类型、字段所使用的分词器等,用来描述索引的数据结构的,相当于Mysql中的表结构。
3. 文档
就是存储的最终数据,是ES里面最小的数据单元,就好比Mysql表里面的一条数据。
4. 字段
一个document有一个或者多个field组成,好比Mysql中列的概念。
9. 操作: