乐趣区

elasticsearch学习基础知识总结

对 elasticsearch 基础知识部分做一个比较系统的总结和归纳,感觉已经很全了,在实际中遇到的很多问题,都可以找到参照点,然后针对的去解决问题。

郑重说明,可能很多知识自己没有讲得很清楚,希望大家批评指正,我会学习和修改的,谢谢~~
后面会继续更新实战篇~~

自己的心得和经历

我是属于一个 ES 小白,为了解决部门内部的一些瓶颈问题,学习 ES 然后去实践的。
举三个场景吧,当然场景应该是很多的

第一个场景

如果 mysql 表过大之后主要千万级以上,这个时候会出现各种各样的问题,比如非常常见的就是慢查询,这个主要是一开始业务量不大,然后突然业务猛增,慢查询问题就来了。然后还有就是导出数据问题,需要支持各种灵活的筛选条件来大批量的下载导出数据。实际场景就是对账,还有数据分析。
当然解决上面这些问题,应该有很多种方法,我是采用将数据同步到 ES,包括全量和增量同步,然后写一个查询服务,前端直接调用我的查询接口就 OK 了。现在已经投入使用,几十万的数据一般不超过 3 分钟,表数据都是千万级的或是更多。

第二个场景

目前如果做指标监控,自己去开发一套会非常的复杂,但是如果使用 ES 就不一样的,可以轻松的做到这件事情。我们就是用 ES 做一套行为日志收集,以及利用现有的 mysql 数据到 ES 的开源工具 logstash、canal、go-mysql-elasticsearch,将数据近实时的放在 ES 上面,然后通过 grafana 或是 kibana,进行分析和展示,可以近实时的监控我们做的部分业务的效果,即使的做出调整, 主要也是业务需要,很多的业务可能不需要,只是我的这些业务是非常需要这个,因为直接会影响收入。

第三个场景

直接用 ES 作为数据存储,也就是数据不存 mysql 了。我是做了一个,不过不是全部数据都是用 ES 的,还有一些数据是存在 mysql 数据库中的。如果想用 ES 存储的话,一定要保证你的业务是一些实时性要求没有那么高的。

下面是做的笔记,类似起到一个目录的作用

elasticsearch 学习笔记(一)——大白话告诉你什么是 elasticsearch
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二)——elasticsearch 的功能、适用场景以及特点介绍
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三)——Elasticsearch 的核心概念
https://segmentfault.com/a/11…

elasticsearch 学习笔记(四)——在 windows 上安装和启动 Elasticsearch
https://segmentfault.com/a/11…

elasticsearch 学习笔记(五)——快速入门案例实战电商网站商品管理:集群健康检查,文档的 CRUD
https://segmentfault.com/a/11…

elasticsearch 学习笔记(六)——快速入门案例实战之电商网站商品管理:多种搜索方式
https://segmentfault.com/a/11…

elasticsearch 学习笔记(七)——快速入门案例实战之电商网站商品管理:嵌套聚合,下钻分析,聚合分析
https://segmentfault.com/a/11…

elasticsearch 学习笔记(八)——剖析 Elasticsearch 的基础分布式架构
https://segmentfault.com/a/11…

elasticsearch 学习笔记(九)——shard&replica 机制以及 ES 集群节点的问题
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十)——Elasticsearch 横向扩容过程与容错机制
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十一)——document 的核心元数据、操作以及原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十二)——Elasticsearch 并发冲突问题以及锁机制
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十三)——Elasticsearch 乐观锁并发控制实战
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十四)——Elasticsearch partial update 实现原理和实践
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十五)——Elasticsearch partial update 内置乐观锁并发控制
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十六)——Elasticsearch mget 批量查询 api 实战
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十七)——Elasticsearch document 数据路由原理以及主分片的不可变
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十八)——Elasticsearch document 增删改内部原理,写一致性机制
https://segmentfault.com/a/11…

elasticsearch 学习笔记(十九)——Elasticsearch document 查询内部原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十)——Elasticsearch bulk api 的奇特 json 格式与底层性能优化关系
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十一)——Elasticsearch _search 结果的含义以及 timeout 机制
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十二)——Elasticsearch multi-index 搜索模式以及搜索原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十三)——Elasticsearch 分页搜索以及深分页性能问题
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十四)——Elasticsearch query string 语法以及_all 元数据原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十五)——Elasticsearch mapping 详解以及索引内部原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十六)——Elasticsearch query DSL 搜索实战
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十七)——Elasticsearch filter 与 query
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十八)——Elasticsearch 实战各种 query 搜索
https://segmentfault.com/a/11…

elasticsearch 学习笔记(二十九)——Elasticsearch 将一个 field 索引两次来解决字符串排序问题
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十)——Elasticsearch 相关度评分 TF&IDF 算法
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十一)——Elasticsearch doc value 正排索引
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十二)——Elasticsearch 解密 query、fetch phrase 原理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十三)——Elasticsearch Bouncing Results 问题
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十四)——Elasticsearch 基于 scoll 技术滚动搜索大量数据
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十五)——Elasticsearch 索引管理
https://segmentfault.com/a/11…

elasticsearch 学习笔记(三十六)——Elasticsearch 内核原理
https://segmentfault.com/a/11…

郑重说明,可能很多知识自己没有讲得很清楚,希望大家批评指正,我会学习和修改的,谢谢~~

退出移动版