前言
各种知识多而且容易遗忘,还不容易复习。最好的方法当然是自己给自己提问,不断补缺查漏,缺什么补什么。本文将各类知识归类,并将全文知识点浓缩在自问自查中,并且都写好目录,自问自查时可以随时跳转过去,方便大家系统的学习复习知识。 水平有限,有错误敬请指正食用方法
自问自查—阅读原文—自问自查–阅读原文…
无限循环
自查自问
1. ES的 名词(和数据库的对应关系) 倒排索引
2. ES的存储结构 查询原理
3. ES和mysql有什么区别
4. ES中的type和MYSQLtable
ES 结构 倒排索引
types 已经被弃用
倒排索引: 根据字段找id
ES存储和查询
ES
Elasticsearch对外提供的是index的概念,可以类比为DB,用户查询是在index上完成的,每个index由若干个shard组成,以此来达到分布式可扩展的能力。比如下图是一个索引
分片的核心要义:
分片可以拆分并扩展数据量,拆分成多个节点分布在不同节点上
操作可以分布在多个节点上,从而可以并行化提高性能。
在节点或分片发生故障时提供高可用性。
写入过程先写主分片,写入成功后再写入副本分片,恢复阶段也以主分片为主。
默认情况下,文档应在节点之间平均分配,这样就不会有一个分片包含的文档比另一个分片多非常多。
确定给定文档应存储在哪个分片的机制称为:路由。
查询的时候会有一个协调节点从其他节点组合数据: