对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...
郑重说明,可能很多知识自己没有讲得很清楚,希望大家批评指正,我会学习和修改的,谢谢~~