ES和Solor都是起源于Lucene
Lucene是一个基于Java语言开发的搜索引擎类库,创建于1999年,于2005年称为Apache顶级开源项目,它具有高性能、可扩展的优点;但是有很多局限性如:只能基于Java语言开发、类库的接口学习曲线陡峭、原生并不支持水平扩展
1.1 ElasticSearch的诞生
2010年Shay Banon重写了Compass并命名为ElasticSearch,它支持分布式水平扩展,降低全文检索的学习曲线,可以被任何编程语言调用。

ES支持多种方式集成接入,如Java、Python、Perl,支持RESTful API
1.2 ES的主要功能
- 搜索
- 聚合
- 海量数据的分布式存储以及集群管理
- 近实时搜索,性能卓越,结构化/全文/地理位置/自动完成
- 海量数据的近实时分析,聚合能力
1.3 Elastic Stack 生态圈
1.3.1 Logstash 数据处理管道
开源的服务端数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。
特性
- 实时解析和转换数据
- 从IP地址破译出地理坐标
- 将PII数据匿名化,完全排除敏感字段
- 可扩展
- 200多个插件
- 可靠的安全性
- Logstash会通过持久化队列来保证至少将运行中的事件送达一次
- 数据传输加密
- 监控
1.3.2 Kibana 可视化分析利器
- Kibana(kiwifruit Banana)
- 数据可视化工具,帮助用户揭开对数据的任何疑问
- 基于Logstash的工具,2013年加入Elastic公司

1.3.3 BEATS 轻量级数据采集器
1.3.4 X-Pack 商业化套件
1.4 ELK应用场景
1.4.1 日志的重要性

- 为什么重要
- 医生给病人看病。日志就是病人对自己的陈述,可以再出现问题的时候及时排查
- 恶意攻击、恶意注册、刷单、恶意密码猜测

日志搜集:需要对日志进行格式化分析,入库是如果发现异常需要发出风险警告
数据存储
指标分析/日志分析
